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



我正在尝试用electronjs制作一个npm初始值设定项。根据npm文档,要制作初始值设定项,您的脚本需要使用npx启动。

Electronjs脚本要求使用electron命令而不是node命令来启动它们。问题是npm init(npx(在node中启动命令。我看到electron-start包以某种方式实现了这一点,但我不明白是怎么做到的。

每当我尝试从PowerShell中的node命令(而不是电子(访问const electron = require( 'electron' )时,electron都会向可执行文件返回一个路径字符串,而不是包含BrowserWindowapp属性的对象。

好的,我明白了。它的文档很差,很难找到,但我在npm的npx的cmd-shim实用程序中找到了导致电子开始在窗口上工作的代码行。:


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,发现node可执行文件为"0";必需"这不是真的。虽然shebang-ing是必需的,但节点可执行文件可以在Windows上交换。你可以在这里看到微光带走了任何shebang(维基百科上的垫片(。

信用:https://stackoverflow.com/a/10398567/10534510

相关内容

  • 没有找到相关文章

最新更新