Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何引用package.json中的'main'字段值?_Javascript_Json_Npm_Terminal_Package.json - Fatal编程技术网

Javascript 如何引用package.json中的'main'字段值?

Javascript 如何引用package.json中的'main'字段值?,javascript,json,npm,terminal,package.json,Javascript,Json,Npm,Terminal,Package.json,在内部,通常通过包含文件路径(相对于项目的根)作为模块的值来指定模块的主(或主)入口点 同样,还有一个字典,它的键是关键字,允许在终端内部运行作为其值传递的相关命令。这样一个常见的脚本允许您运行节点或。下面是一个示例package.json配置: 您会注意到上面的devscript命令在index.js文件上运行。此文件也是main字段中指定的应用程序入口点 那么,我的问题是:是否可以在一个脚本中引用package.json的main键指定的文件?换句话说,一个人能写出这样的东西吗 "scr

在内部,通常通过包含文件路径(相对于项目的根)作为模块的值来指定模块的主(或主)入口点

同样,还有一个字典,它的键是关键字,允许在终端内部运行作为其值传递的相关命令。这样一个常见的脚本允许您运行节点或。下面是一个示例package.json配置:

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

那么,我的问题是:是否可以在一个
脚本中引用package.json的
main
键指定的文件?换句话说,一个人能写出这样的东西吗

  "scripts": {
    "dev": "nodemon main"
  }

这似乎很迂腐,但却是一个真正的问题。感谢所有的帮助

我相信nodemon默认使用您的
main
脚本,因此您可以只使用
“dev”:“nodemon”

但是:您可以使用
$npm\u package\u KEY
使用变量引用您的
package.json的键

就你而言:

"scripts": {
  "dev": "nodemon $npm_package_main"
}
子属性,如:
$npm\u包\u作者\u姓名

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

"scripts": {
  "dev": "nodemon %npm_package_main%"
}
从我阅读的内容来看,脚本似乎在寻找某种类型的可执行文件。在阅读文档之前,我最初的想法是,而且似乎是正确的,nodemon main将尝试在根目录(对于项目)中运行一个名为main的文件,例如从命令行运行nodemon main可能会查找并运行main.js(如果它存在)或抛出一个错误(如果main.js不存在)。也许有人比我更了解这一点。
"scripts": {
  "dev": "nodemon %npm_package_main%"
}