2
當我需要在我的js代碼中使用「ref」模塊並通過節點運行時,我會得到所需的輸出。 但是,當我在的package.json提供必要的改變運行經由電子相同的js代碼,它說「無法找到綁定文件。」如何從電子需要本地節點模塊?使用ref和ffi模塊獲取錯誤
這裏是我的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()
}
})
當我啓動項目「故宮開始」,而不需要「裁判」我沒有得到任何錯誤。但是當我使用ref時,會引發錯誤。
P.S.主要要求是「ffi」模塊,並且我已經做了必要的修改以運行「ffi」。 「FFI」實習生需要「REF」,使得當我運行代碼,其包括經由節點REF,它完美..
不知何故,我設法找到解決方案。一旦我使用普通的npm命令安裝了軟件包,我需要在外部爲這個新軟件包運行「電子重建」命令。在的package.json文件和腳本內作出變化添加「rebuildref」:「電子重建-f -w裁判」,「rebuildffi」:「電子重建-f -w FFI」,最後這些命令,節點運行rebuildref和節點運行rebuildffi –