我想从一个单独的Javascript文件创建一个新视图。
可能还会出现不必要的代码,您可以随意为我指出。
这是我的第一个项目,因此您可以认为这是关于Javascript模块的菜鸟问题。
以前,当将代码放置在main.js文件中时,它就可以工作,但是我不知道如何使其在单独的文件中工作。
//main.js
var app = require('electron').app
var BrowserWindow = require('electron').BrowserWindow
var BrowserView = require('electron').BrowserView
const path = require('path')
const url = require('url')
let win
let view
function createWindow () {
win = new BrowserWindow({
width: 1200,
height: 800,
frame: false,
webPreferences: {
nodeIntegration: true
}
})
win.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file',
slashes: true
}))
win.on('closed', function () {
win = null
})
win.webContents.openDevTools({mode:'undocked'})
}
app.on('ready', createWindow, createView)
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', function () {
if (win === null) {
createWindow()
}
})
//view.js
const { remote, ipcRenderer } = require('electron')
var win = remote.getCurrentWindow();
let view
let createView = function() {
view = new BrowserView()
win.setBrowserView(view)
view.setBounds({
x: 0,
y: 30,
width: win.getContentBounds()['width'],
height: win.getContentBounds()['height'] - 30
})
view.webContents.loadURL('https://ose-e837e8.webflow.io/')
}
我要做的是:
在main.js文件中创建一个窗口(此方法有效)
通过从单独的文件调用函数来打开新视图(这不起作用)
这是我遇到的错误,但是我觉得这可能不是我的代码的唯一问题。
Uncaught ReferenceError: createView is not defined
at Object.<anonymous> (C:\Users\emilh\Github\Chromia\renderer.js:37)
at Object.<anonymous> (C:\Users\emilh\Github\Chromia\renderer.js:38)
at Module._compile (internal/modules/cjs/loader.js:815)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:827)
at Module.load (internal/modules/cjs/loader.js:677)
at tryModuleLoad (internal/modules/cjs/loader.js:609)
at Function.Module._load (internal/modules/cjs/loader.js:601)
at Module.require (internal/modules/cjs/loader.js:715)
at require (internal/modules/cjs/helpers.js:14)
at index.html:42