Я создал электронное приложение с помощью electronic-packager. Чтобы уменьшить количество файлов, я упаковываю весь пакет с помощью asar. Я столкнулся с этой проблемой ранее, npm regedit отсутствовал. Я решил эту проблему, используя require on npm package опасно, а также изменив npm скрипт для сборки электронов.
"builderForWindows": "electron-packager --buildVersion='20.2.0.1' --appVersion='20.2.0.1' --out winx64 --overwrite --platform win32 --appname simpleApp . --executable-name myApp --asar.unpackDir={node_modules/regedit,node_modules/stream-slicer} "
-asar.unpackDir решает, какие пакеты npm должны находиться вне asar.
Я не понимаю, я использую npm fs, путь, они распознаются в файле asar, но эти конкретные пакеты npm должны находиться вне файла asar.
Единственное, что я нашел до теперь использует asar.unpackDir, как показано выше. Я хочу знать, есть ли лучшее решение, и я хочу понять, в чем root причина этой проблемы.
пакет. json
{
"productName": "simpleApp",
"description": "This is Demo App",
"version": "1.0.1",
"main": "main.js",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"builderForWindows": "electron-packager --buildVersion='20.2.0.1' --appVersion='20.2.0.1' --out
winx64 --overwrite --platform win32 --appname simpleApp . --executable-name myApp --asar.unpackDir=
{node_modules/regedit,node_modules/stream-slicer} "
},
"private": true,
"dependencies": {
"@angular/animations": "^10.0.4",
"@angular/cdk": "^10.1.0",
"@angular/common": "^10.0.4",
"@angular/core": "^10.0.4",
"@angular/forms": "^10.0.4",
"@angular/http": "^7.2.16",
"@angular/material": "^10.1.0",
"@angular/platform-browser": "^10.0.4",
"@angular/platform-browser-dynamic": "^10.0.4",
"@angular/router": "^10.0.4",
"archiver": "^5.0.0",
"body-parser": "^1.19.0",
"child_process": "^1.0.2",
"core-js": "^3.6.5",
"express": "^4.17.1",
"fs": "0.0.1-security",
"gen-uid": "0.0.2",
"genuid": "0.0.2",
"glob": "^7.1.6",
"hazardous": "^0.3.0",
"highlight.js": "^10.1.2",
"is-admin": "^3.0.0",
"jquery": "^3.5.1",
"moment": "^2.27.0",
"morgan": "^1.10.0",
"morgan-body": "^2.4.14",
"ngx-spinner": "^10.0.1",
"path": "^0.12.7",
"ping": "^0.2.3",
"regedit": "^3.0.3",
"replace-in-file": "^6.1.0",
"rxjs": "^6.6.0",
"tslib": "^2.0.0",
"zone.js": "^0.10.3"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.1000.3",
"@angular/cli": "^10.0.3",
"@angular/compiler": "^10.0.4",
"@angular/compiler-cli": "^10.0.4",
"chai": "^4.2.0",
"electron": "^9.1.1",
"electron-packager": "^15.0.0",
"mocha": "^8.0.1",
"mocha-junit-reporter": "^2.0.0",
"sinon": "^9.0.2",
"typescript": "^3.9.7"
}
}
введите описание изображения здесь