【发布时间】:2018-08-13 20:50:57
【问题描述】:
我有一个小应用程序,我正在尝试为 node 和另一个版本的 web 输出。我也有每个单独的配置。我的浏览器控制台通过 webpack 运行后出现这个错误:
external_"lodash":1 Uncaught ReferenceError: require is not defined
at eval (external_"lodash":1)
at Object.lodash (browser.js:507)
at __webpack_require__ (browser.js:20)
at eval (page.js:1)
at Object../src/page.js (browser.js:429)
at __webpack_require__ (browser.js:20)
at eval (write-template.js:2)
at Object../src/write-template.js (browser.js:474)
at __webpack_require__ (browser.js:20)
at eval (browser.js:2)
at Object../src/browser.js (browser.js:319)
at __webpack_require__ (browser.js:20)
at eval (browser.js:1)
at Object.0 (browser.js:485)
at __webpack_require__ (browser.js:20)
at browser.js:69
at browser.js:72
/***/ "lodash":
/*!*************************!*\
!*** external "lodash" ***!
\*************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"lodash\");\n\n//# sourceURL=webpack:///external_%22lodash%22?");
/***/ }),
我认为 webpack 会修复 require()。这是我的 webpack 的配置:
{
externals: [nodeExternals()],
module: {
rules: [
{
test: /\.hbs/,
loader: 'handlebars-template-loader',
query: {
noEscape: true
}
},
{
test: /\.js$/,
loader: 'babel-loader',
include: __dirname,
exclude: /node_modules/
}
]
},
resolve: {
alias: {
src: path.resolve(__dirname, 'src/'),
elements: path.resolve(__dirname, 'src/elements/')
}
},
entry: ['./src/browser.js'],
target: 'web',
output: {
path: path.join(__dirname, '../') + '/output',
filename: 'browser.js'
},
devServer: {
contentBase: path.join(__dirname, '../') + '/output',
}
}
我是否配置错误?
【问题讨论】:
-
你弄明白了吗?