【问题标题】:Webpack for backend node work?用于后端节点工作的 Webpack?
【发布时间】:2016-06-03 08:57:35
【问题描述】:

我正在尝试关注James Long's article 以将我的节点服务器代码与 webpack 捆绑在一起。我的配置如下。我能够无故障地打包东西,但我不知道如何让事情开始。为了测试,我创建了一个简单的 server.ts,它只有 console.log('test');。 Webpack 愉快地将其编译成这样;

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')
        ]
    }

【问题讨论】:

    标签: node.js typescript webpack


    【解决方案1】:

    原来这是问题所在;

    plugins: [
                new Webpack.optimize.CommonsChunkPlugin('common', 'common.bundle.js')
    ]
    

    对于任何偶然发现这一点的人,对于后端代码,不要优化通用,它有加载器代码并且不会工作。

    【讨论】:

      【解决方案2】:

      不要使用 webpack 作为后端/nodejs 代码的编译器。这不是它的预期用途。只需运行tsc -w 即可获取 JS,或者如果您感觉很时髦(不想让 js 资源乱七八糟)给ts-node 试试看:https://github.com/TypeStrong/ts-node

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-13
        • 2020-08-10
        • 2019-03-24
        • 2015-02-06
        • 1970-01-01
        • 2018-01-14
        • 1970-01-01
        • 2022-10-07
        相关资源
        最近更新 更多