[英]NodeJS - process.env.NODE_ENV condition not working when using package.json scripts
[英]Call specific NodeJS function in package.json scripts
我有一個帶有導出功能的NodeJS文件,如下所示:
test.js
exports.run = function(){
console.log('You run this function!');
};
有沒有辦法在package.json
的scripts
對象中使用自定義命令從此文件中專門調用該函數?
例如,我想它看起來像這樣:
{
"author": "Joe Bloggs",
"name": "test-app",
"main": "server.js",
"version": "1.0.0",
"private": true,
"scripts": {
"test": "NODE_ENV=production node test.js run()",
},
"dependencies": {
"express": "~4.10.6",
}
}
顯然這是運行該函數的錯誤語法。
你可以使用一個好的'switch case並將參數傳遞給你的腳本。
test.js
function foo(){
console.log('foo is called');
}
function bar(){
console.log('bar is called');
}
for (var i=0; i<process.argv.length;i++) {
switch (process.argv[i]) {
case 'foo':
foo();
break;
case 'bar':
bar();
break;
}
}
module.exports.foo = foo;
module.exports.bar = bar;
的package.json
{
"author": "A person",
"name": "test-app",
"main": "server.js",
"version": "1.0.0",
"private": true,
"scripts": {
"test": "NODE_ENV=production node test.js foo bar"
},
"dependencies": {
"express": "~4.10.6"
}
}
test.js:foo()和test.js:bar()現在將由npm test調用。 你也可以像往常一樣要求它。
這回答了你的問題,但是你后來的評論使我不確定這是否是你所追求的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.