cd
放入应用程序目录,然后运行npm start
。我觉得应该有某种方法可以使用path参数运行
npm start
。但是,npm start文档不包含此类功能。我尝试自己发现
npm start ./myapp
不起作用。有办法吗?#1 楼
此单行代码应起作用:npm start --prefix path/to/your/app
对应文档
#2 楼
在Command下面,其中project
是包含package.json
文件的文件夹。npm run --prefix project ${COMMAND}
也可以使用。
在基于Docker的应用程序中很有用。
评论
这对我来说是最有用的答案,因为它记录了您需要在前缀标志和路径之后传递命令。由于npm允许您使用“ npm start”或“ npm test”作为“ npm run start / test”的简写方式,因此“ npm start --prefix path / to / your / app”的示例是一种极端情况。 ”。如果有人需要运行启动或测试以外的命令,则该示例无济于事。
–LexJacobs
昨天
#3 楼
npm start --prefix path/to/your/app
&在package.json中添加以下脚本
"scripts": {
"preinstall":"cd $(pwd)"
}
评论
您能解释一下预安装脚本的作用吗?
– junvar
19/09/26 '16:52
这不是跨平台的。它仅适用于Unix,不适用于Windows等奇数球。
–杰克·吉芬(Jack Giffin)
20 Apr 14'0:49
#4 楼
我来自Google,因此可能与其他人有关:对于
yarn
,您可以使用:yarn --cwd /path/to/your/app run start
#5 楼
此单行代码也应该起作用:(cd /path/to/your/app && npm start)
请注意,执行此命令后,当前目录将更改为/ path / to / your / app。要保留工作目录:
(cd /path/to/your/app && npm start && cd -)
我使用此解决方案是因为我正在编辑的程序配置文件当时不支持指定命令行参数。
评论
请在使用“ -1”按钮时添加评论,以使访问者获得线索“为什么不行” ...
–西里尔·夏彭(Cyril CHAPON)
19 Mar 7 '19 at 13:57
我没有投票。但是我认为,由于副作用,它被否决了。解决方案不完全是,它会更改当前目录。
– Vladimir Serykh
19 Mar 7 '19 at 14:52
这实际上是一个非常常见的解决方案,唯一可以做的改进就是添加括号以避免所提到的副作用。但是,上述解决方案在我看来更好,因为它们完全依赖NPM。
–拉斐尔·维尔泽什奇(RafałWrzeszcz)
19年4月5日在16:14
您可以在最后添加cd-以消除副作用。
– babca
19年4月7日在15:44
@babca,除非npm start失败...您需要将其分解为多个语句
–安德烈亚斯(Andreas)
20年1月30日在8:54
#6 楼
根据此npm问题列表,可以通过npm config进行解决。name: 'foo'
config: { path: "baz" },
scripts: { start: "node ./$npm_package_config_path" }
在Windows下,
scripts
可以是{ start: "node ./%npm_package_config_path%" }
然后运行命令行如下所示
npm start --foo:path=myapp
评论
下载的软件包可以使用什么脚本?假设我想从下载的npm包中访问js文件
–Hardik Rana
20年5月9日在16:23
评论
不工作尝试在当前目录中找到package.json。
– Shashwat Kumar
17年4月17日在5:44
@ShashwatKumar您是否找到了可行的方法?
–多汁
18年5月6日在12:29
我刚刚测试过在也具有package.json的文件夹中运行此命令,并且npm正确地遵循路径/至/您的/ app找到正确的package.json。您正在使用哪个版本的npm?
–阿莫里·利特(Amaury Liet)
18年5月8日在11:56
在带有节点10.x和npm 6.9.0的macOS10.14.x上运行,单线运行完美。谢谢。
–托德
19年5月15日在17:28
此处--prefix的文档:docs.npmjs.com/misc/config#prefix
–lealceldeiro
19年11月26日在9:41