में नोड मूल एडॉन्स (सी ++) को कॉल करना मैं नोड जेएस और इलेक्ट्रॉन के लिए बिल्कुल नया हूं। मैं इलेक्ट्रॉन और नोड जेएस का उपयोग कर एचटीएमएल के साथ सी ++ को एकीकृत करने की कोशिश कर रहा हूं। मैंने कुछ उदाहरणों के माध्यम से दिया है: GITइलेक्ट्रॉन
जो मैं करने की कोशिश कर रहा हूं वह मेरे वेब पेज के जावास्क्रिप्ट से देशी फ़ंक्शन (हैलो()) को कॉल कर रहा है जो इलेक्ट्रॉन द्वारा लोड किया गया है। मैंने अपनी विजुअल स्टूडियो सॉल्यूशन फ़ाइल जेनरेट करने के लिए node-gyp configure
का उपयोग किया है। (। एसएलएन)। और बाद में मैंने विजुअल स्टूडियो 2013 एक्सप्रेस के साथ अपना कोड संकलित किया जो सफलतापूर्वक उत्पन्न करता है। बिल्ड \ रिलीज़ फ़ोल्डर में फ़ाइल को सफलतापूर्वक उत्पन्न नहीं करता है।
यह मेरा index.js फ़ाइल है:
var addon = require('./build/Release/hello.node');
console.log(addon.hello());
जब मैं बस node index.js
के साथ इस चलाने के लिए, यह मुझे वांछित आउटपुट दे रहा है:
world
लेकिन समस्या के साथ जब मैं का उपयोग करें आता है इलेक्ट्रॉन। मैं अपने वेबपृष्ठ को चलाने के लिए इलेक्ट्रॉन बाइनरी (32 बिट) का उपयोग कर रहा हूं। जब मैं इस चलाने के लिए या इस लोड
//************* My Functional logic **************
//************************************************
var addon = require('../build/Release/hello');
alert(addon.hello());
:
var app = require('app'); // Module to control application life.
var BrowserWindow = require('browser-window'); // Module to create native browser window.
require('crash-reporter').start();
var mainWindow = null;
// Quit when all windows are closed.
app.on('window-all-closed', function() {
if (process.platform != 'darwin') {
app.quit();
}
});
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
app.on('ready', function() {
mainWindow = new BrowserWindow({width: 1366, height: 768});
mainWindow.loadUrl("file://" + __dirname + "/HtmlFile/index.html");
mainWindow.on('closed', function() {
mainWindow = null;
});
});
अब यह मेरा जावास्क्रिप्ट मैं कहाँ देशी ऐड-ऑन फोन कर रहा हूँ है:
निम्नलिखित मेरी main.js फ़ाइल है पेज, मुझे निम्न त्रुटि मिल रही है:
Uncaught Error: %1 is not a valid Win32 application. ATOM_SHELL_ASAR.js:137
C:\Users\Administrator\Desktop\MyAPP\build\Release\hello.node
निम्नलिखित है मेरी package.json
:
{
"name": "MyAPP",
"version": "1.0.0",
"description": "Desc",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"nan": "^2.0.9"
},
"gypfile": true
}
यह मेरा binding.gyp
:
{
"targets": [
{
"target_name": "hello",
"sources": [ "hello.cc" ],
"include_dirs": [
"<!(node -e \"require('nan')\")"
]
}
]
}
मैं जब '--arch = ia32' ध्वज का उपयोग कर एक ही मुद्दे में चल रहा हूँ में .npmrc का उपयोग कर स्थापित करने के लिए जब मैं का उपयोग' - arch = x64' ध्वज मुझे 'असीमित त्रुटि प्राप्त होती है: सिस्टम को% 2 के लिए संदेश फ़ाइल में संदेश संख्या 0x% 1 के लिए संदेश पाठ नहीं मिल रहा है। हालांकि, अगर मैं' नोड '/' के साथ कमांड चलाता हूं तो यह प्रिंट करता है "दुनिया "उम्मीद के अनुसार कमांड लाइन पर। यह भी कोड इलेक्ट्रॉन में मैकोज़ पर काम करता है, इसलिए यह विंडोज इलेक्ट्रॉन आधारित मुद्दा प्रतीत होता है। – devonbleibtrey