![](/img/trans.png)
[英]What needs to change in this package.json file to work with npm 0.3.0?
[英]After npm reads package.json, what runs Electron?
我才刚刚开始了解JavaScript,HTML和Electron的全部工作原理,并且我想知道electron .
运行原理electron .
在package.json
的“脚本”->“开始”中,因为我不知道该怎么做,这种巫术使我感到紧张。
根据npm
的手册页, npm start
所做的是读取package.json
,查看“ scripts”->“ start”-> some_script
下的脚本,然后运行some_script
。 有时, some_script
类似于node foobar.js
,这对我来说很有意义,因为我可以从命令行运行它。 NodeJS正在执行foobar.js。 但是,对于electron-api-demos
, some_script
是electron .
您可以通过以下方式下载并运行electron-api-demos
git clone https://github.com/electron/electron-api-demos
cd electron-api-demos/
npm install && npm start
为了设法弄清楚正在运行的electron .
,我已经在node
shell中运行了它,并且尝试运行node main.js
我什至尝试打开node
外壳并运行
electron-api-demos@2.0.2 start $DIR/electron-api-demos
electron .
(这正是npm start
的输出)。 他们都不工作,因为他们都没有启动Electron应用程序。 在这一点上,我对于完全如何执行启动脚本感到非常困惑。
所以我想我的问题是:是否存在一个命令(我可以在命令行上使用)来启动此Electron应用程序,而不使用npm
? 如果没有,那么npm
调用什么来启动这个Electron应用程序?
我很抱歉以前没有问过这个问题,但是我发现的所有消息来源似乎都没有进一步详细介绍npm start
运行时到底要完成什么以及如何执行electron .
。 感谢您的时间!
与npm一起安装的命令行界面位于node_modules/.bin/
目录中。 您不能仅从命令行运行它们,因为该目录不在您的PATH
(除非您将该目录放在其中,或者将其全局安装)。
因此,如果要在不npm start
情况下运行电子,则可以运行./node_modules/.bin/electron .
。 由于这是一个有点冗长,较新版本的npm
提供的命令npx
到没有运行的东西./node_modules/.bin/
一部分,所以npx electron .
也可以。
由于npm脚本经常使用您已安装的软件包,因此在运行命令之前,它们会自动将node_modules/.bin/
添加到PATH
。 结果,开始脚本可以直接引用电子。
当您运行npm start时 ,默认情况下,它将运行package.json 脚本属性的“ start”键对应的命令
"script":{
"start": "ng serve",
"launch":"electron main.js" or "electron ." // main.js located in the same dir
"test": " ng test"
}
同样,当您运行npm run launch时 ,它将触发package.json文件的脚本属性的“启动”键对应的命令。 像运行电子main.js命令,您的应用程序将启动。
因此,如果您想像电子main.js一样直接运行电子应用程序,然后使用命令npm installelectron -g全局安装电子模块,然后只需运行电子main.js命令即可启动应用程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.