当我需要" ref"在我的js代码中的模块并通过节点运行,我得到了所需的输出。 但是当我通过在package.json中提供必要的更改来通过电子运行相同的js代码时,它会说"无法找到绑定文件。"
这是我的package.json文件
{
"name": "firstapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "electron .",
"package": "electron-packager . myapp --platform=win32 --arch=ia32 --version=1.0.0 --overwrite"
},
"author": "",
"license": "ISC",
"devDependencies": {
"electron": "^1.4.8",
"electron-prebuilt": "^1.4.8",
"electron-rebuild": "^1.4.0",
"ffi": "^2.2.0",
"node-gyp": "^3.4.0",
"reach": "^1.0.0",
"ref": "^1.3.3"
},
"dependencies": {
"ffi": "^2.2.0",
"ref": "^1.3.3"
}
}
这是我的index.js文件
const electron = require('electron');
const ref = require('ref');
const app = electron.app
const BrowserWindow = electron.BrowserWindow
let mainWindow
const createWindow = () => {
mainWindow = new BrowserWindow({ name: "ishwar", width: 800, height: 600, visible: true, toolbar: false });
mainWindow.loadURL(__dirname + '/index.html');
mainWindow.webContents.openDevTools()
mainWindow.on('closed', () => {
mainWindow = null
})
}
app.on('ready', createWindow)
app.on('window-all-closed', () => {
app.quit()
})
app.on('activate', () => {
if (mainWindow === null) {
createWindow()
}
})
当我开始项目" npm start"无需" ref"我没有错。但是当我使用ref时,它会抛出错误。
P.S。主要要求是" ffi"模块,我已经完成了运行" ffi"所需的必要更改。 " FFI"实习生需要" ref",这样当我运行包含ref via节点的代码时,它完美地工作..
答案 0 :(得分:3)
不知怎的,我设法找到了这个解决方案。在使用npm命令安装这些软件包之后,我收到了绑定错误。作为解决方案,我需要在外部为该新软件包运行“electron-rebuild”命令。用npm下载电子重建模块,然后运行“electorn-rebuild -f -w ffi”和“electron-rebuild -f -w ref”。就是这样,它现在正在工作。