Node.js 后端节点工作的网页包?
我正试图按照下面的步骤将我的节点服务器代码与webpack捆绑在一起。我的配置在下面。我可以把东西打包成无故障的,但我不知道如何启动。为了测试,我创建了一个简单的server.ts,它只有Node.js 后端节点工作的网页包?,node.js,typescript,webpack,Node.js,Typescript,Webpack,我正试图按照下面的步骤将我的节点服务器代码与webpack捆绑在一起。我的配置在下面。我可以把东西打包成无故障的,但我不知道如何启动。为了测试,我创建了一个简单的server.ts,它只有console.log('test')。网页很可能将其编译成这样 exports.ids = [0,1]; exports.modules = [ /* 0 */ /***/ function(module, exports) { console.log('test'); /***/ } ];;
console.log('test')代码>。网页很可能将其编译成这样
exports.ids = [0,1];
exports.modules = [
/* 0 */
/***/ function(module, exports) {
console.log('test');
/***/ }
];;
问题是,node server.bundle.js什么都不做——这是有意义的,因为我现在导出了一个从未调用过的函数。。我一定是错过了什么明显的东西,但盯着它看了两个小时后,我发现。。有人有什么建议吗
{
target: 'node',
entry: {
'server': Path.join(__dirname, 'server', 'server.ts')
},
output: {
path: Path.join(__dirname, 'dist'),
filename: '[name].bundle.js'
},
resolve: {
extensions: ['', '.js', '.json', '.ts']
},
devtool: 'source-map',
module: {
preLoaders: [
{test: /\.ts$/, loader: "tslint"}
],
loaders: [
{test: /\.js$/, loader: 'script'},
{
test: /\.ts$/,
loader: 'ts-loader',
query: {
configFileName: 'server/tsconfig.json',
ignoreDiagnostics: [
2403, // 2403 -> Subsequent variable declarations
2300, // 2300 -> Duplicate identifier
2374, // 2374 -> Duplicate number index signature
2375 // 2375 -> Duplicate string index signature
]
}
},
{test: /\.json$/, loader: 'raw'}
]
},
plugins: [
new Webpack.optimize.CommonsChunkPlugin('common', 'common.bundle.js')
]
}
不要将webpack用作后端/节点代码的编译器。这不是它的预期用途。只需运行tsc-w
就可以得到JS,或者如果你感觉不舒服(不想让JS资源到处乱跑),试试ts节点:结果就是这个问题
plugins: [
new Webpack.optimize.CommonsChunkPlugin('common', 'common.bundle.js')
]
对于任何一个偶然发现这一点的人来说,对于后端代码,不要优化公共代码,它有加载程序代码,不会工作