用于后端节点的Webpack工作?

时间:2016-02-22 02:53:52

标签: node.js typescript webpack

我试图关注documentation以获取与webpack捆绑在一起的节点服务器代码。我的配置如下。我能够无故障地打包东西,但我无法弄清楚如何让事情开始。对于测试,我创建了一个简单的server.ts,它只有console.log('test');。 Webpack很好地将它编译成了这个;

exports.ids = [0,1];
exports.modules = [
/* 0 */
/***/ function(module, exports) {

    console.log('test');


/***/ }
];;

问题是,节点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')
        ]
    }

2 个答案:

答案 0 :(得分:0)

原来这是问题所在;

set "condition="

对于任何偶然发现这一点的人来说,对于后端代码,不要优化常见代码,它有加载器代码并且无法正常工作。

答案 1 :(得分:-4)

不要将webpack用作后端/ nodejs代码的编译器。这不是它的预期用途。只需运行$query = $this->Models->find() ->contain(['OtherModels']) ->where(['Models.type' => ['mk1', 'mk2', 'm3']) ->andWhere(['Models.style' => ['old', 'new']) ->andWhere(['OtherModels.status' => 'active', 'pending']) ; $data = $query->all(); 即可获得JS,或者如果您感觉时髦(不想让js资源闲置),请{} {}进行https://github.com/TypeStrong/ts-node