Я использую Electron для создания настольного приложения. В моем приложении я загружаю внешний сайт (вне приложения Atom), скажем, http://mydummysite/index.html страницу.
Вот структура моего приложения в редакторе Atom:
то есть он имеет следующие части:
main.js
package.json
nodemodules>jquery
(для загрузки jquery)
Исходный код:
main.js:
'use strict';
var app = require('app');
app.on('ready', function() {
var BrowserWindow = require('browser-window');
var win =
new BrowserWindow({ width: 800, height: 600, show: false,
'node-integration':true });
win.on('closed', function() {
win = null;
});
win.loadUrl('http://mydummysite/index.html ');
win.show();
});
package.json:
{
"name": "my-mac-app",
"version": "5.2.0",
"description": "My Mac Desktop App",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"author": "Me",
"license": "ISC",
"dependencies": {
"jquery": "^2.1.4"
}
}
Внешняя страница - http://mydummysite/index.html код страницы:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Hello World!</h1>
</body>
<script>
var jqr=require('jquery');
</script>
</html>
Когда я запускаю указанное выше приложение (перетаскивая папку приложения в Electron), внешняя страница (http://mydummysite/index.html) загружается в оболочку Electron. но с ошибкой
Uncaught Error: не удается найти модуль 'jquery'
Можете ли вы помочь мне найти причину этой проблемы?
Как вы можете видеть на моем скриншоте структуры каталогов, я уже установил модуль jquery в свою папку и сделал это с помощью команды npm install jquery
.
Примечание. Чтобы поиграть с командой require
в JS, я попытался добавить require("ipc")
на страницу http://mydummysite/index.html внешней страницы, и она работала, в чем может быть причина с require("jquery")
.
Правильно ли я добавил внешний модуль (jquery) в Electron?
Мне не хватает какой-то зависимости в package.json
?
Что я уже пробовал:
npm cache clean
,npm install jquery
(в папку моего приложения)npm install --save jquery
npm install jquery -g
npm rebuild
sudo npm install jquery -g
sudo npm install jquery
export NODE_PATH=/usr/local/lib/node_modules
Вот скриншот места, из которого выдается ошибка в module.js
Может кто-нибудь подсказать, почему require("ipc")
работает, а require("jquery")
нет?
Моя цель - использовать jQuery с электронным приложением с версией интеграции узлов.