我不明白 webpack 的require
函数是如何工作的。例如,我正在阅读这篇关于 webpack 的文章,有以下示例:
让我们从创建我们的项目并安装 Webpack 开始,我们还将 拉入jQuery以稍后演示一些内容。
$ npm init
$ npm install jquery --save
$ npm install webpack --save-dev
现在让我们在普通 ES5 中创建应用程序的入口点:
src/index.js
var $ = require('jquery');
$('body').html('Hello');
让我们在 webpack.config.js 文件中创建我们的 Webpack 配置。 Webpack 配置只是 Javascript,需要导出一个 对象:
webpack.config.js
module.exports = {
entry: './src',
output: {
path: 'builds',
filename: 'bundle.js',
},
};
webpack 如何知道 require('jquery')
中的 jquery 是什么?我没有看到指定任何与jquery相关的配置选项。
在这种情况下,它将像 CommonJS require
s(例如,Node require
s)一样工作。(Webpack 的 require
支持比传统 require
更大的灵活性,但默认行为是相同的。
文档中的模块部分解释了 Node 如何确定从调用 require()
返回的内容。如果你需要"jquery",它首先查找该名称的本机模块,找不到,然后查找node_modules
(因为路径的开头没有/
或./
)。由于 'jquery' 是一个文件夹,它会查看package.json
文件以查看它声明的包的main
文件是什么,这就是它执行的内容。
阅读整件事;例如,缓存部分很重要。