2016-10-09 2 views
0

Я создаю свой первый узел узла командной строки, используя машинописный текст, переписанный с помощью Webpack. Свойство process.argv, где я ожидаю найти массив аргументов командной строки, пуст. В настоящее время единственный код, который я просто регистрирует объект процесса в консоли. Это результат.Узел CLI argv (массив аргументов) пуст

myArgs: { nextTick: [Function], 
title: 'browser', 
browser: true, 
env: {}, 
argv: [], 
version: '', 
versions: {}, 
on: [Function: noop], 
addListener: [Function: noop], 
once: [Function: noop], 
off: [Function: noop], 
removeListener: [Function: noop], 
removeAllListeners: [Function: noop], 
emit: [Function: noop], 
binding: [Function], 
cwd: [Function], 
chdir: [Function], 
umask: [Function] } 

Я заметил, что для «браузера» установлено значение true. Означает ли это, что узел считает, что он работает в браузере, а не в командной строке.

FYI: Я работаю на OSX.

+0

Ваш код был бы полезен. – Paul

ответ

2

Спасибо Jason Livesay за то, что вы на правильном пути. По умолчанию для Webpack используется браузер.

Для того, чтобы «пакет» модуль, который выполняет в узле, как окружающая среда вы должны установить свойство «цели» в ваших «webpack.config.js» к «узлу», как в моем примере ниже:

var config = { 
    target: 'node', 
    entry: './src/index.ts', 
    output: { 
     filename: 'dist/index.js' 
    }, 
    resolve: { 
     extensions: ['', '.webpack.js', '.web.js', '.ts', '.js'] 
    }, 
    module: { 
     loaders: [ 
     { test: /\.ts$/, loader: 'ts-loader' } 
     ] 
    }, 
    externals : { 
     "archiver" : "archiver", 
     "lodash" : "lodash", 
     "xmlbuilder" : "xmlbuilder", 
    } 
}; 

module.exports = config; 
0

Почему вы используете webpack на код сервера - это для браузера и объясняет проблему argv.

+0

Я использую его для упаковки моих модулей в один файл. Мои модули не те, которые я ссылаюсь на node_modules. – Noah

 Смежные вопросы

  • Нет связанных вопросов^_^