使用 webpack 捆绑 node.js web API
Bundling node.js web API with webpack
我正在实施基于 node.js 的网络 API。 API 可以与数据库交互。所以我使用 node-postgres 库作为数据访问层。
现在我需要以正确的方式配置 webpack,以便将 api 捆绑在一个文件中。但是我不能这样做,因为 node-postgres 依赖 "pg-native"。我只能用 webpack.config.js:
中的这段代码构建 api
externals: {
'pg': 'commonjs pg'
}
但是这个解决方案迫使我在部署 API 时保留 node_modules 文件夹。
这是我的 webpack.config.js:
var path = require('path');
var nodeNativeModules = {};
module.exports = function(environment) {
var entryCfg = '';
switch(environment){
case 'development':
entryCfg = { 'main_ts': './src/api/main.ts'};
break;
}
var CONFIG = {
entry: entryCfg,
target: 'node',
output: {
path: path.join(__dirname, 'dist/'),
filename: '[name].js'
},
resolve: {
extensions: ['.ts', '.js', '.json'],
},
externals: {
'pg': 'commonjs pg'
},
module: {
loaders: [{
test: /\.json$/,
loader: 'json-loader'
}, {
test: /\.ts$/,
loaders: [
'awesome-typescript-loader',
],
exclude: [/\.(spec|e2e)\.ts$/]
},]
},
devtool: 'source-map'
}
return CONFIG;
}
有没有办法捆绑 node-postgres?
如何配置 webpack 捆绑原生模块依赖?
因为我不使用 'pg-native' 我的问题变成了 webpack 配置问题。
这是对我有帮助的答案https://github.com/serverless-heaven/serverless-webpack/issues/78
我正在实施基于 node.js 的网络 API。 API 可以与数据库交互。所以我使用 node-postgres 库作为数据访问层。 现在我需要以正确的方式配置 webpack,以便将 api 捆绑在一个文件中。但是我不能这样做,因为 node-postgres 依赖 "pg-native"。我只能用 webpack.config.js:
中的这段代码构建 apiexternals: {
'pg': 'commonjs pg'
}
但是这个解决方案迫使我在部署 API 时保留 node_modules 文件夹。
这是我的 webpack.config.js:
var path = require('path');
var nodeNativeModules = {};
module.exports = function(environment) {
var entryCfg = '';
switch(environment){
case 'development':
entryCfg = { 'main_ts': './src/api/main.ts'};
break;
}
var CONFIG = {
entry: entryCfg,
target: 'node',
output: {
path: path.join(__dirname, 'dist/'),
filename: '[name].js'
},
resolve: {
extensions: ['.ts', '.js', '.json'],
},
externals: {
'pg': 'commonjs pg'
},
module: {
loaders: [{
test: /\.json$/,
loader: 'json-loader'
}, {
test: /\.ts$/,
loaders: [
'awesome-typescript-loader',
],
exclude: [/\.(spec|e2e)\.ts$/]
},]
},
devtool: 'source-map'
}
return CONFIG;
}
有没有办法捆绑 node-postgres? 如何配置 webpack 捆绑原生模块依赖?
因为我不使用 'pg-native' 我的问题变成了 webpack 配置问题。 这是对我有帮助的答案https://github.com/serverless-heaven/serverless-webpack/issues/78