如何引用package.json里面的`main`字段值?

时间:2017-04-06 00:03:23

标签: javascript json npm terminal package.json

在一个package.json内部,通常通过包含文件路径(相对于项目的根目录)作为值来指定模块的主要(或)入口点。 the main field

同样,还有the scripts field,一个字典,其键是关键字,允许用户在终端内运行作为其值传递的相关命令。一个这样常见的脚本允许您运行Node或Nodemon。为了说明,这是一个示例 package.json config:

{
  "name": "example",
  "version": "1.0.0",
  "description": "Example package.json for StackOverflow question",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon index.js"
  },
  "author": "IsenrichO",
  "license": "ISC",
  "dependencies": {
    "express": "^4.13.4",
    "nodemon": "^1.9.1"
  }
}

您会注意到 index.js 文件中上面的dev脚本命令运行Nodemon。此文件也是main字段中指定的应用程序入口点。

我的问题是:是否可以在您main之一的内部引用 package.json scripts密钥指定的文件?换句话说,可以写一些像

这样的东西
  "scripts": {
    "dev": "nodemon main"
  }

看起来很迂腐,但这是一个真正的问题。感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

我相信nodemon默认使用您的main脚本,因此您只需使用"dev": "nodemon"

但是:您可以使用package.json使用变量来引用$npm_package_KEY个键。

在你的情况下:

"scripts": {
  "dev": "nodemon $npm_package_main"
}

子项属性如:$npm_package_author_name

在Windows上,您需要删除$并将变量包装在%中:

"scripts": {
  "dev": "nodemon %npm_package_main%"
}