繁体   English   中英

npm读取package.json之后,什么将运行Electron?

[英]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-demossome_scriptelectron .

您可以通过以下方式下载并运行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 结果,开始脚本可以直接引用电子。

npx也可以做其他一些很酷的事情-npm上有一篇有关它的博客文章

当您运行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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM