NodeJS: связать приложение express и включить node_modules - PullRequest
0 голосов
/ 02 марта 2020

У меня есть приложение NodeJS, использующее ExpressJS для предоставления API на устройстве ARM. Я также использую SocketIO и установил старую версию «uws» для решения одной проблемы.

При развертывании обновлений я бы «скорее не стал» выводить sh из всех. JS файлы (в моем случае .TS) и, возможно, потребуется запустить npm install на целевом устройстве.

Я бы предпочел создать один файл / пакет, который я мог бы выложить sh на устройства.

Я попробовал простой подход с веб-пакетом с конфигурацией ниже:

var path = require('path');
var webpack = require('webpack');

module.exports = {
    target: 'node',
    entry: '../dist/server.js',
    output: {
        path: path.resolve(__dirname + '/../dist/'),
        filename: 'bundle.js'
    },
    resolveLoader: {
        modules: [
            __dirname + '/node_modules'
        ]
    }
};

Делая это, я получаю несколько предупреждений. Critical dependency: the request of a dependency is an expression

В конечном счете, приложение, похоже, дает сбой. Первое, что делает приложение: Logging.log(path.resolve(__dirname, "./motd.txt"));

Вывод: /motd.txt

Я предполагаю, что он теряет доступ к __dirname?

Может ли это быть сделано с веб-пакетом? Есть ли лучший подход? Есть ли лучшая идея для удаленного развертывания приложения NodeJS на нескольких удаленных ARM-устройствах и исключения требования npm install?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...