【发布时间】:2016-05-24 04:29:33
【问题描述】:
我有一个节点应用程序,它使用 react-router 在服务器端呈现 React 视图。我的问题是我使用require.ensure 在客户端进行代码拆分,但在编译服务器端代码时不想进行代码拆分。这是我的 webpack 配置:
{
entry: path.join(__dirname, '../server/app.js'),
target: 'node',
output: {
path: './',
filename: 'server.js'
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ },
{ test: /\.hbs$/, loader: 'handlebars-loader', include: /client/ }
]
},
externals: nodeModules
}
当我运行它时,我会得到 server.js、1.server.js、2.server.js 等。我宁愿只有一个 server.js 文件。
在我拥有的每个路由文件的顶部:
if (typeof require.ensure !== 'function') require.ensure = (d, c) => c(require);
当我在开发中使用require('babel/register') 时,这很有效,但我宁愿有一个用于生产的编译文件。
【问题讨论】:
标签: javascript node.js reactjs webpack react-router