Я изо всех сил пытаюсь найти правильный синтаксис вызова скрипта powershell с использованием node-powershell и скомпилировать все это в один файл .exe с использованием синтаксиса zeit / pkg. Как я могу указать путь к правильному файлу PS1, который компилируется с использованием информации из https://github.com/zeit/pkg, и правильно ли он запускается? Моя структура папок и мой package.json находятся ниже. Я думаю, что я правильно следую указаниям, однако я потратил несколько часов, пытаясь что-то напрасно. Так что просить других глаз на случай, если я упущу что-то явно очевидное.
В моей структуре папок в корне проекта есть каталог ресурсов (см. Ниже). В этом у меня есть один файл PS1, а затем три других каталога, которые имеют подкаталоги различных файлов, которые содержат модули PS1, информационные файлы и т. Д., Которые мой сценарий PS1 использует для запуска и блокировки IE. Все сценарии работают правильно, если они запускаются с использованием чего-то вроде Electron, чтобы все упаковать и раскрыть источник. Однако нам нужно заблокировать исходный код, чтобы Electron не был опцией.
assets
IE-Start.ps1 <-- this is a file
InternetExplorer <-- this is a folder with files I read in with my script
modules <-- this is a folder with files I read in with my script
Windows <-- this is a folder with files I read in with my script
index.js
package-lock.json
package.json
README.md
node_modules
Я скомпилирую .exe как этот из корня. Я знаю, что файлы в каталогах находятся там, потому что после того, как я добавил их, мой размер файла на .exe увеличился много. Так что это что-то добавило. Я просто не могу правильно ссылаться на внутренние пути.
pkg . -t node8-win
Я выполняю приведенный ниже код в моем index.js, однако он не может сказать, что не может найти файл ps1
let scriptPath = path.join(__dirname, 'assets/IE-Start.ps1')
ps.addCommand(scriptPath);
Ошибки, которые я получаю, примерно такие:
Cannot find path 'C:\snapshot\ielockdown\assets\InternetExplorer\'
because it does not exist.
Содержимое моего package.json ниже:
{
"name": "ielockdown",
"version": "1.0.0",
"description": "IE Lockdown Tool compiled for Win10",
"main": "index.js",
"scripts": {
"start": "npm start"
},
"author": "Dale Bingham",
"license": "ISC",
"dependencies": {
"node-powershell": "^4.0.0",
"path": "^0.12.7"
},
"bin": "index.js",
"pkg": {
"scripts": "*.js",
"assets": [
"assets/*.ps1",
"assets/**/*"
],
"targets" : [
"node8"
]
}
}
Некоторые выходные данные флага --debug, который я включил ниже, чтобы убедиться, что файлы добавляются. Я просто не ссылаюсь на них правильно, может быть? Любая помощь приветствуется.
> [debug] The file was included as asset content
/Users/dalebingham/cingulara/ielockdown/assets/IE-Start.ps1
> [debug] The file was included as asset content
/Users/dalebingham/cingulara/ielockdown/assets/modules/Excel.psm1
> [debug] The file was included as asset content
/Users/dalebingham/cingulara/ielockdown/assets/modules/GitHub.psm1
> [debug] The file was included as asset content
/Users/dalebingham/cingulara/ielockdown/assets/modules/GroupPolicy.psm1