jot*_*ann 7 javascript variables node.js npm package.json
NPM$npm_package_main变量始终为空。
"main": "index.js""start": "node $npm_package_main"npm start问题:CLI 执行 Node REPL 模式,忽略 package.json 中的“main”变量。
预期行为:执行命令为node index.js。
npm -v= 7.3.0node -v= v15.5.0npm run env | grep npm_package_name=npm_package_name=appnpm run env | grep npm_package_main= 空console.log('HELLO');npm init并按 ENTER 键回答所有问题package.json文件并将以下行添加到“scripts”属性中:
"start": "node $npm_package_main", {
"name": "app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"devDependencies": {},
"scripts": {
"start": "node $npm_package_main",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)
设置“start”并运行“npm start”:
NPM官方的回答:使用“node .”。在这篇文章发布之前,没有任何官方原因说明这种行为。
根据文档,“main”属性包含您的应用程序在其他项目中用作模块时的入口点:https://docs.npmjs.com/cli/v7/configuring-npm/package-json#main
{
"name": "app",
"version": "1.0.0",
"description": "",
"devDependencies": {},
"config": {
"main": "index.js"
},
"scripts": {
"start": "node $npm_package_config_main",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3931 次 |
| 最近记录: |