Какова структура папок для настольного приложения, использующего серверную часть nodejs (сервер, RESTAPI), Angular 4,6,7,8,9 в качестве внешнего интерфейса и электронное js? - PullRequest
0 голосов
/ 10 июля 2020

Я разрабатываю настольное приложение, используя angular 8 и node.js в качестве сервера для написания услуг. Использование электронов для преобразования в настольное приложение. Я сделал простую страницу входа и построил ее отлично работающей. Но проблема в том, что я не могу его упаковать. При открытии exe я получаю:

не удается найти ошибку модуля для индекса. js файла nodejs.

Какова структура папок для настольного приложения с использованием бэкэнда nodejs (сервер, RESTAPI), Angular 4,6,7,8,9 в качестве интерфейса и электрона. js?

main. js (электрон ) :

`//npm run start:electron
const { app, BrowserWindow } = require('electron'), server = require("../nodejsService/index")
let win = null;
const url = require("url");
const path = require("path");

function createWindow() {

  // Initialize the window to our specified dimensions
  win = new BrowserWindow({
    useContentSize: true, autoHideMenuBar: true, backgroundColor: '#55b9f3',show: false,icon: `file://${__dirname}/dist/assets/images/logo.png`, webPreferences: {
      nodeIntegration: true
    }
  });
  win.maximize();
  win.loadURL(
    url.format({
      pathname: path.join(__dirname, `/dist/angular-electron/index.html`),
      protocol: "file:",
      slashes: true
    })
  );

  win.once('ready-to-show', () => {
    win.show();
  })
  
  // win.loadURL('http://localhost:4200');

  // Show dev tools
  // Remove this line before distributing
  // win.webContents.openDevTools()

  // Remove window once app is closed
  win.on('closed', function () {
    win = null;
  });
}

app.on('ready', function () {
  createWindow();
});
app.on('activate', () => {
  if (win === null) {
    createWindow()
  }
})
app.on('window-all-closed', function () {
  if (process.platform != 'darwin') {
    app.quit();
  }
});`

index. js:

const express = require('express');
const bodyparser = require('body-parser');

var app = express();

const cors = require('cors')
const corsOptions = {
  origin: 'http://localhost:3080',
  optionsSuccessStatus: 200
}
 
app.use(cors(corsOptions))
var loginController = require('./app/controller/login.controller');

app.use(bodyparser.urlencoded({extended:true}));
app.use(bodyparser.json());
app.use(express.static(process.cwd()+"/angular-electron/dist/angular-electron"));

app.get('/', (req,res) => {
  res.sendFile(process.cwd()+"/angular-electron/dist/angular-electron")
});

require("http").createServer(function (req, res) {
  res.end("Hello from server started by Electron app!");
}).listen(9000)

app.post('/api/authenticate',loginController.authenticate)

// app.listen(8080);
const port = process.env.PORT || 3080;
app.listen(port, () => console.log(`Listening on port ${port}..`));`

Ниже приведен снимок экрана с ошибкой:

введите описание изображения здесь

...