Я пытаюсь передать пользовательский флаг из скрипта npm в конфигурацию моего веб-пакета, но это приводит к следующей ошибке.Журналы
Insufficient number of arguments or no entry found.
Alternatively, run 'webpack(-cli) --help' for usage info.
ERROR in Entry module not found: Error: Can't resolve '--no-dist' in 'C:\Users\user\gitroot\MyProject\sharepoint'
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! my-project@4.0.0 dev: `webpack --mode development -- --no-dist`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the my-project@4.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
package.json
...
"scripts": {
"dev": "webpack --mode development -- --no-dist",
"dev:dist": "webpack --mode development",
"build": "webpack --mode production"
},
...
webpack.config.js
let username = process.env.USERNAME;
if (process.env.npm_config_user !== undefined && process.env.npm_config_user !== "") {
username = process.env.npm_config_user;
}
console.log("username", username);
console.log("process.argv.slice(2)", process.argv.slice(2));
const no_dist = process.argv.slice(2).indexOf("--no-dist") > -1;
console.log("no_dist", no_dist);
Тесты
npm run dev:dist
Работает без ошибок, связывается и распространяется без проблем.Дает следующий вывод:
username user
process.argv.slice(2) [ '--mode', 'development' ]
no_dist false
npm run dev:dist --user test
Также работает и дает следующий вывод:
username test
process.argv.slice(2) [ '--mode', 'development' ]
no_dist false
npm run dev
Здесь становится интересно, я пытаюсь запустить скрипт dev с флагом --no-dist
.Вывод:
username user
process.argv.slice(2) [ '--mode', 'development', '--', '--no-dist' ]
no_dist true
Как видите, no_dist
boolean установлен в true, что является требуемым поведением.Но я получаю следующую ошибку:
Insufficient number of arguments or no entry found.
Alternatively, run 'webpack(-cli) --help' for usage info.
npm run dev --user test
То же поведение, что и в тесте 3. Аргументы передаются в webpack.config.js, но приводят к той же ошибке.
username test
process.argv.slice(2) [ '--mode', 'development', '--', '--no-dist' ]
no_dist true
Я что-то здесь упускаю?