【发布时间】:2018-12-11 07:54:43
【问题描述】:
我制作了一个 Electron 应用程序,主要是为我的服务台同事工作。
它的作用(上下文):
它提供了一个简单的 gui,它可以执行不同的“任务”。示例:
为此,我使用了以下组合:
- 带电子的节点
- 反应
- 节点-Powershell
问题:
当我在开发模式下运行该应用程序时,它正在正常运行。但是在我用电子构建和打包之后,NPM 包node-powershell 再也找不到.ps1 脚本了。
我想我已经确定了这个问题,但我不知道这个问题的解决方案是什么。
node-powershell 需要一个脚本路径和一组命令。
我是这样设置的:
const p1 = require('path').resolve();
const scriptPath = require('path').join(p1, 'src/PowershellScripts/AddMailboxPermissions.ps1');
然后ps.addCommand(scriptPath, commands); (node-powershell)
如前所述,这在使用 webpack 服务器的开发模式下工作正常,但在打包后运行时出现此错误:
C:\Users\Huberdo\Projekte\Powershell-SAS-App\Client\builds\basic-electron-react-boilerplate-win32-x64\src\PowershellScripts\GetRemoteMac.ps1 找不到。
原因是包装有以下结构。 .ps1 文件现在具有以下路径:
C:\Users\Huberdo\Projekte\Powershell-SAS-App\Client\builds\basic-electron-react-boilerplate-win32-x64\resources\app\src\PowershellScripts
所以这是主要问题。我如何以“正确的方式”打包这个,以便它在之后真正起作用。
信息:
- 我在 Windows 10 x64 机器上运行它
- package.json 脚本:
"dev": "webpack-dev-server --hot --host 0.0.0.0 --config=./webpack.dev.config.js", "build": "webpack --config webpack.build.config.js", "package": "webpack --config webpack.build.config.js",
- 当我在开发模式下运行它时,它会解析正确的路径并且一切正常
我希望你们中的某个人可以帮助我或引导我走向正确的方向。
可能的想法:
引用一个完全不同的路径并使用 gulp 任务将 ps1 文件复制到另一个目录?从来没有用过。这可能是一个可能的解决方案吗?如果是,如何最好地解决这个问题?
更新
当我将src 文件夹从C:\Users\Huberdo\Projekte\Powershell-SAS-App\Client\builds\basic-electron-react-boilerplate-win32-x64\resources\app 复制到根C:\Users\Huberdo\Projekte\Powershell-SAS-App\Client\builds\basic-electron-react-boilerplate-win32-x64 时,它又可以工作了。所以这主要是一个路径问题,我不知道如何解决它。
最后但并非最不重要的是直接链接到 github 上的项目:
https://github.com/dhuber666/Powershell-SAS-Tool
这里我调用ps1脚本:
!谢谢!
【问题讨论】: