如何使package.json中的路径独立于系统?
我正在学习edx上的nodejs,并在以下问题上遇到了困难。如果在如何使package.json中的路径独立于系统?,json,node.js,Json,Node.js,我正在学习edx上的nodejs,并在以下问题上遇到了困难。如果在包中添加了命令,则可以通过npm start运行express应用程序(或其他应用程序)。json: { "name": "express-hello-world", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" &
包中添加了命令,则可以通过npm start
运行express应用程序(或其他应用程序)。json
:
{
"name": "express-hello-world",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": ".\\node_modules\\.bin\\node-dev server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.16.2",
"node-dev": "3.1.3"
}
}
在这里,我使用了带有反斜杠的路径的windows样式。但是,如果我想在不同的平台上部署包,该怎么办?我必须指定多个路径吗?因为我不能在json文件中运行类似于path.join的东西,对吗
指定此路径(至少)在W10、Linux、MacOS上运行的最佳方式是什么?脚本中的二进制文件将由npm内部解析,因此您可以:
"scripts": {
"start": "node-dev server.js"
},
即使没有在全球范围内安装,它也应该可以工作
在中提到,如果路径不标准怎么办?它可能是一个更大的包装的一部分。你说不标准是什么意思?package.json
有一个字段,描述提供了哪些二进制文件。在教程中,老师说:“在大多数计算机上,此路径未配置”。这就是他将节点dev server.js更改为包含相对路径的版本的原因。但路径取决于现在的系统。如果我下载这个包并在Linux上使用它,它将不再工作。