我不明白webpack的require
功能如何运作。例如,我正在阅读关于webpack的this article,并且有以下示例:
让我们首先创建我们的项目并安装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相关的配置选项。
答案 0 :(得分:6)
在这种情况下,它就像CommonJS require
一样(例如,节点require
)。 (Webpack' require
支持比传统require
更多的灵活性,但默认行为是相同的。)
This Modules section in the docs解释了Node如何确定从require()
调用返回的内容。如果您需要' jquery',它首先会查找该名称的原生模块,找不到该模块,然后查看node_modules
(因为那里没有{{}在路径的开头1}}或/
。因为' jquery'是一个文件夹,它查看./
文件以查看它声明包的package.json
文件的内容,以及它执行的内容。
值得一读的是全部;例如,缓存部分很重要。