AngularJS и Electron: невозможно запустить приложение AngularJS внутри Electron - PullRequest
0 голосов
/ 16 марта 2019

Я создаю простую игру, используя HTML 5, CSS 3, EcmaScript 6, AngularJS 1.7.7 и JQuery 3.3.1.Игра прошла гладко при тестировании с использованием Firefox, но когда я перенес ее в настольное приложение с использованием Electron, игра пошла не так.Это показывает ошибки в электронном отладчике, как на скриншоте I ниже.

Ошибки в электронном

Uncaught Error: [jqLite:nosel] http://errors.angularjs.org/1.7.7/jqLite/nosel
    at angular.min.js:7
    at Object.Y [as element] (angular.min.js:33)
    at functions.js:5 angular.min.js:127
Error: [$controller:ctrlreg] http://errors.angularjs.org/1.7.7/$controller/ctrlreg?p0=gameController
    at angular.min.js:7
    at angular.min.js:97
    at ea (angular.min.js:79)
    at p (angular.min.js:71)
    at g (angular.min.js:64)
    at angular.min.js:64
    at angular.min.js:22
    at m.$eval (angular.min.js:154)
    at m.$apply (angular.min.js:154)
    at angular.min.js:22

Игра при запуске в браузереработать гладко, как на скриншоте ниже.

Браузерная версия игры

Поскольку Electron основан на Chromium и node.js, я тестировалэто на Chrome тоже.Когда я тестировал Chrome, игра шла гладко.Я не могу выяснить, что не так с кодом.Я ищу в Google, чтобы выяснить вопрос и ответ об Angular CLI, TypeScript и Electron, но я использую нативный Javascript, JQuery, AngularJS и Electron, поэтому их вопрос и ответ для меня бесполезны.

Iопубликовать веб-версию моей игры в GitHub , для файла javascript вы можете посмотреть по этой ссылке .Настольная версия игры практически не отличается от веб-версии, единственное отличие состоит в новом файле main.js и package.json.Для сценария в main.js и package.json вы можете посмотреть в конце этого вопроса (все другие ресурсы, такие как изображения, звуки и т. Д. Загружены правильно, проблема, которую я обнаружил, - это файл AngularJS и functions.js).

main.js

const { app, BrowserWindow } = require('electron')

let win

function createWindow() {
    win = new BrowserWindow({
        fullscreen: true
    })

    win.loadFile('index.html')

    win.webContents.openDevTools()

    win.on('closed', () => {
        win = null
    })
}

app.on('ready', createWindow)

app.on('window-all-closed', () => {
    if(process.platform !== 'darwin') {
        app.quit()
    }
})

app.on('activate', () => {
    if(win ===  null) {
        createWindow()
    }
})

package.json

{
    "name": "borneo-space-war",
    "version": "1.0.0",
    "description": "Simple space shooting game with unique concept.",
    "main": "main.js",
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "electron ."
    },
    "author": "Atallabela Yosua",
    "license": "GNU General Public License v3.0",
    "devDependencies": {
        "electron": "^4.1.0"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...