Webpack для работы бэкэнд-узла?

0

Я пытаюсь следовать статье Джеймса Лонга, чтобы получить код узла узла в комплекте с веб-пакетом. Моя конфигурация ниже. Я могу упаковать вещи без проблем, но я не могу понять, как это сделать. Для теста я создал простой 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')
        ]
    }
Теги:
webpack

2 ответа

0

Оказывается, это была проблема;

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

Для тех, кто наткнулся на это, для кода backend, не оптимизируйте общий, он имеет код загрузчика и не будет работать.

-3

Не используйте webpack в качестве компилятора для кода backend/nodejs. Это не его предполагаемое использование. Просто запустите tsc -w чтобы получить JS, или если вы чувствуете себя напуганным (не хотите, чтобы ресурсы js лежали вокруг), дайте ts-node a go: https://github.com/TypeStrong/ts-node

Ещё вопросы

Сообщество Overcoder
Наверх
Меню