我正在使用react-stdio server 在服务器端渲染react.js。
Webpack 渲染的 javascript 文件包含以下几行:
/***/
/* 49 */
/***/ function(module, exports, __webpack_require__)
»·/* WEBPACK VAR INJECTION */(function(global) {/* global window */
»·'use strict';
»·module.exports = __webpack_require__(50)(global || window || this);
»·/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
/* 50 */
/***/ function(module, exports) {
问题是 react-stdio
不喜欢window
变量:react-stdio
返回给我ReferenceError: window is not defined
。那么问题来了:
- 如何了解哪个依赖项被标记为 #49?
- 我怎样才能消除这个
window
构建中的变量?
最佳答案
尝试将 target: 'node'
添加到您的 webpack.config 中。根据 webpack 文档:
Target: "node" Compile for usage in a node.js-like environment (use require to load chunks)
module.exports = {
entry: './src/main.js',
target: 'node',
output: {
path: path.join(__dirname, 'build'),
filename: 'backend.js'
}
}
如果这不起作用,请尝试本教程 - Backend Apps with Webpack (该示例取自其中)。
关于javascript - Webpack - 如何识别某些包并将其从渲染中排除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774148/