#npm #package.json #node-webkit
#npm #package.json #узел-webkit
Вопрос:
Я создаю серверное и клиентское приложение nwjs, но я не могу открыть оба одновременно. Интересно, есть ли какой-нибудь способ сделать это. Я запускаю npm run dev
оба своих открытых VS-кода, но когда я запускаю эту команду во втором приложении, оно просто не открывается вообще (не имеет значения, какое из них является вторым приложением, которое я хотел бы запустить). Я попытался создать клиентское приложение и запустить его, а после него запустить серверное приложение, но это то же самое, второе приложение не запускается.
Это мой файл package.json в обоих приложениях, я не знаю, помогает ли это вообще. В приложениях отличается только имя (nwjs_client и nwjs_server)
{
"name": "nwjs_server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "nw src/",
"prod": "nwbuild --platforms win32,win64,osx64,linux32,linux64 --buildDir dist/ src/"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"nw": "^0.49.1"
}
}
Я готов принять любые ответы, я не знаю, возможно ли вообще запустить 2 разных приложения nwjs.
Ответ №1:
Я смущен тем, что вы пытаетесь сделать.
- Если вы пытаетесь запустить NW.js это означает, что вместо загрузки непосредственно с a
index.html
, он загружает и отображает страницу с локального веб-сервера:- Создайте
server.js
, который запускает локальный веб-сервер на определенном порту (например4263
, или что-то не очень распространенное). - Если вам нужны какие-либо node_modules для этого (например
express
), убедитесь, что это adependency
, а не adevDependency
. - Установите свой
"main"
вpackage.json
"http://localhost:4263
, используя тот же порт, что и сервер - установите
"node-main"
"server.js"
значение, оно будет выполняться в контексте узла перед отображением вашего окна при запуске приложения. - Также настройте свой порт
"node-remote"
на"http://localhost:4263"
использование того же порта. Это позволит командам узла запускаться по этому URL-адресу при загрузке в NW.js .
- Создайте
- Если вы хотите запустить две команды одновременно, вы можете:
npm install --save-dev concurrently wait-on
. Это установит два devDeps- Установите для вашего скрипта npm значение
"start": "concurrently "npm run serve" "wait-on http://localhost:4263 amp;amp; nw .""
- Это запустит вашу
npm run serve
команду, которая, предположительно, запускает локальный веб-сервер для разработки, если используется что-то вроде webpack, это может занять минуту. Затем он ожидает, покаlocalhost:4263
фактически не вернет ответ. Затем он запускается NW.js
concurrently также позволит вам запускать любые две (или более) команды одновременно.