【发布时间】:2017-11-05 03:36:28
【问题描述】:
我对节点、javascript 和电子非常陌生。我只是想编写一个在浏览器窗口中打开本地 HTML 文件的简单应用程序。本地文件有一些复杂的嵌入式 javascript (tiddlywiki)。下面是一些示例代码(我在这个中没有使用本地文件,但结果是一样的):
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')
let win
function createWindow () {
// Create the browser window.
win = new BrowserWindow({width: 800, height: 600})
// and load the index.html of the app.
win.loadURL(url.format({
pathname: 'tiddlywiki.com',
protocol: 'http:',
slashes: true,
webPreferences: {
nodeIntegration: false,
}
}))
当电子应用程序启动时,我在浏览器开发工具中收到以下错误。
Uncaught TypeError: Cannot read property 'length' of undefined
at Object.$tw.boot.startup (tiddlywiki.com/:27506)
at tiddlywiki.com/:27765
at Object.$tw.boot.decryptEncryptedTiddlers (tiddlywiki.com/:27053)
at Object.$tw.boot.boot (tiddlywiki.com/:27763)
at _boot (tiddlywiki.com/:27772)
at tiddlywiki.com/:27782
我认为这是因为 node.js 对象模型的某些集成?很抱歉缺乏理解。提前感谢您的帮助。
【问题讨论】:
-
失败的是网站上的 tiddlywiki 代码:
(tiddlywiki.com/:27506)在查看堆栈跟踪中引用的行之后,看起来 tiddlywiki 无法识别它启动的浏览器,因此假设它从命令行启动。
标签: javascript node.js electron tiddlywiki tiddlywiki5