使用 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