gpt4 book ai didi

javascript - 你如何通过npx而不是npm start运行electronjs?

转载 作者:行者123 更新时间:2023-12-03 12:37:58 25 4
gpt4 key购买 nike

我正在尝试使用electronjs制作一个npm初始化程序。根据npm documentation,要创建一个初始化程序,您的脚本需要以npx开始。
Electronjs脚本require that they be started with the electron 命令而不是node命令。问题是npm init(npx)在node中启动命令。我看到 electron-start 包以某种方式实现了这一目标,但我不知道如何实现。
每当我尝试从PowerShell中的const electron = require( 'electron' )命令(而不是 Electron )中尝试node时,electron都会返回可执行文件的路径字符串,而不是包含BrowserWindowapp属性的对象。

最佳答案

好,我知道了。它的文档很少,很难找到,但是我发现了导致 Electron 启动在npm's npx's cmd shim utility.内的窗口上工作的代码行:


var ...
, shebangExpr = /^#\!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/

...

function writeShim (from, to, cb) {
// make a cmd file and a sh script
// First, check if the bin is a #! of some sort.
// If not, then assume it's something that'll be compiled, or some other
// sort of script, and just call it directly.
mkdir(path.dirname(to), function (er) {
if (er)
return cb(er)
fs.readFile(from, "utf8", function (er, data) {
if (er) return writeShim_(from, to, null, null, cb)
var firstLine = data.trim().split(/\r*\n/)[0]
, shebang = firstLine.match(shebangExpr) //<-- matched here
if (!shebang) return writeShim_(from, to, null, null, cb)
var prog = shebang[1]
, args = shebang[2] || ""
return writeShim_(from, to, prog, args, cb)
})
})
}

根据 npx ( package.json > "bin" )上npm的数据,具有shebang是与shebang一样的 node所必需的,并且没有提及它在Windows上的功能/是否具有微光。在cmd shim实用程序中,您可以看到它需要任何shebang并为其创建 .cmd shim (shim on wikipedia)
贷方: https://stackoverflow.com/a/10398567/10534510

关于javascript - 你如何通过npx而不是npm start运行electronjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65661451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com