Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在构建和打包后,如何在我的电子应用程序中引用我的powershell脚本?

在构建和打包后,如何在我的电子应用程序中引用我的powershell脚本?
EN

Stack Overflow用户
提问于 2018-07-02 21:22:48
回答 1查看 3.5K关注 0票数 4

我已经做了一个电子申请,主要是为我的服务台同事在工作。

它所做的(上下文):

它提供了一个简单的gui,它可以完成不同的“任务”。示例:

为此,我使用了以下几种组合:

  • 带电子节点
  • 反应
  • 节点-Powershell

问题:

当我在开发模式下运行它时,这个应用程序正在按它应该运行的方式运行。但是在我用电子构建和封装它之后,NPM包node-powershell再也找不到.ps1脚本了。我想我已经找出了问题,但我不知道解决这个问题的办法是什么。node-powershell需要一个脚本路径和一个命令数组。我把它设成这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    const p1 = require('path').resolve();
    const scriptPath = require('path').join(p1, 'src/PowershellScripts/AddMailboxPermissions.ps1');

然后是ps.addCommand(scriptPath, commands); (节点-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",

  • 当我在dev模式下运行它时,它解析出正确的路径,并且一切都正常。

我希望你们中的一些人能帮助我或引导我走向正确的方向。

可能的想法:

引用一个完全不同的路径,并将ps1文件复制到另一个具有gulp任务的目录中?从来没用过。这是一种可能的解决办法吗?如果是,如何最好地处理这个问题?

更新当我将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脚本:

https://github.com/dhuber666/Powershell-SAS-Tool/blob/SendAs/src/components/scriptsComponents/AddMailboxPermissions.js

!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 17:29:55

我正在做类似的事情,但是我为PowerShell脚本使用的方法是将它们创建为PowerShell模块。然后,只需将它们放置在有效的PSModule位置之一,就可以了。您只需编写一个powershell脚本,将模块复制到正确的位置,并将包复制到桌面或任何需要的位置。

一个非常简单的模块可以是这样的:

在Files\WindowsPowerShell\Modules C:\中,创建一个名为MyModuleTest的文件夹。在此文件夹中创建一个名为MyModuleTest.psm1.的文件在这个PSM1文件中创建一个函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function Invoke-MyModuleTest {

Write-host "This is My Module"

}

保存文件,打开powershell控制台会话,然后运行Invoke-MyModuleTest,它将输出到控制台。

您可以阅读更多关于模块这里的信息。

您还可以找到一些更复杂的模块这里的好例子。

一旦您将脚本转换为模块,您就可以像调用任何cmdlet一样调用它们,我目前没有任何可以共享的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51147152

复制
相关文章
新标签页打开
人民不仅有权爱国,而且爱国是个义务,是一种光荣。——徐特立 <a href="https://vampireachao.gitee.io/" target="_self">默认当前页面打开</a> <a href="https://vampireachao.gitee.io/" target="_blank">新页面打开</a> <a href="" target="ruben">在frame中打开</a> <iframe src="" name="ruben"></iframe> <a href=
阿超
2022/08/16
1.7K0
iOS广告启动页
产品需求:启动页逻辑: 上部分为广告区域,可在运营后台配置图片+跳转页(同No.2);首次开 APP,则请求一次配置,失败或无配置则不显示,一旦有网了即刻请求一次并 做好缓存; 客户端每4小时请求一次;每两小时显示一次广告页内容 用户点击则跳转已配置页面;启动页上有5s倒计时,时间到了启动页关闭,也 可手动点击跳过启动页,广告已过期也不显示。 服务端返回模型: { “image” : “http://www.baidu.com“, “link” : “跳转链接”, “start” : “2017-0
czjwarrior
2018/05/28
8250
云本机应用程序成熟度的模型
云本地应用程序是为了能在云基础架构上最佳地运行而构建的。云本地应用程序体系结构与为数据中心设计的传统分层应用程序非常不同。在本文中,我将讨论来自开放数据中心联盟(ODCA)的成熟度模型,用于评估应用程序的云本地性。
lemon2ml
2018/01/15
1.7K0
云本机应用程序成熟度的模型
如何打开sln文件并显示窗口_在本机打开别人的sln文件[通俗易懂]
sln:在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目)的集合
全栈程序员站长
2022/07/01
3K0
linkedin官网_linkedin manager
关系型数据库仍然作为主要的primary data store的方案 Relational Databases have been around for a long time and have become a trusted storage medium for all of a company’s data. 传统的数据仓库的ETL和OLAP方案 Data is pulled off this primary data store, transformed, and then stored in a secondary data store, such as a data warehouse. The industry typically uses ETL to run nightly jobs to give executives a view of the previous day’s, week’s, month’s, year’s business performance.
全栈程序员站长
2022/11/07
12.1K0
linkedin官网_linkedin manager
从0开始构建一个Oauth2Server服务 <6> 移动和本机应用程序
与单页应用程序一样,移动应用程序也无法维护客户机密。因此,移动应用程序还必须使用不需要客户端密码的 OAuth 流程。当前的最佳做法是将授权流程与 PKCE 一起使用,同时启动外部浏览器,以确保本机应用程序无法修改浏览器窗口或检查内容。
用户1418987
2023/10/16
2080
从0开始构建一个Oauth2Server服务 <6> 移动和本机应用程序
应用程序InetlliJ IDEA不能打开
一大早回公司想打开 IDEA,准备魔改一下 Spark,突然发现前两天更新的 IDEA 打不开了(那天更新完后没有尝试打开),WTF。打不开的表现是双击图标毫无反应,我第一反应是,我系统有多个 IDEA,而且还有 N 个版本还有各种社区版交错,当然还有之前一直用的破解版,会不会是版本的问题呢?既然公司现在可以提供企业版,那就没理由继续盗版了,而且那是好几年前了。虽然电脑换过很多次了,但是每次都是 Time Machine,所以配置什么的是一直同步着的,而且 IDEA 是 Java 写的,找 BUG 找问题的思路跟开发 Java 应用的时候也应该是类似的。
runzhliu
2020/08/06
1.7K0
iOS 引导页实现方式
主要用在修改一些组件的默认样式 这里用于获取UIPageControl的属性 修改原来的点为自己的图片
码客说
2019/10/22
1.4K0
使用iOS应用程序进行数据采集:从入门到实践
随着移动互联网的普及,越来越多的数据产生于移动设备。为了更好地了解用户行为、优化产品体验,我们需要在iOS应用程序中进行数据采集。本文将指导您如何在iOS应用中实现数据采集,从基本概念到实际操作。
用户614136809
2023/09/04
3010
从微信小程序文章列表进入详情页时,如何无加载打开详情页
我在写「一个程序手册」的接口,在列表页的时候就把文章的所有数据都加载了,所以从文章列表进入详情页的时候,其实数据都已经有了,那么我们是否做到不请求接口直接打开详情页呢?
Denis
2023/04/14
3690
C#应用程序配置文件
代码: <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add n
明明如月学长
2021/08/27
5170
webstorm配置本机IP使手机能打开pc端界面
最近项目使用原生html开发,虽然webstorm自带localhost的访问,但是手机端并不能直接这样写地址,所以需要配置本机IP地址的访问,以便在手机端也能看到h5页面的效果,避免未知的bug问题。
用户10106350
2022/10/28
9920
webstorm配置本机IP使手机能打开pc端界面
IOS 读写配置文件plist
1 import UIKit 2 class ViewController:UIViewController { 3 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 // Do any additional setup after loading the view, typically from a nib. 7 8 let plistPath = Bundle.main.path(forResource:“demoPlist”, ofType:“plist”) 9 let data:NSMutableDictionary = NSMutableDictionary.init(contentsOfFile:plistPath!)! 10 let message = data.description 11 let name = data[“Name”] 12 let age = data[“Age”] 13 14 print(message) 15 print(name) 16 print(age) 17 } 18 }
用户5760343
2019/07/10
6420
iOS 启动页后广告Demo
重点!       对于启动页后的广告,相信大家也都看到过很多很多的,比如我自己常看到的有 QQ音乐,爱奇艺了。你点击了APP,它会启动就会随之启动。。其实这些APP的启动页是没有消失的,你去认真的
Mr.RisingSun
2018/01/09
1.9K0
iOS 启动页后广告Demo
iOS 点击通知打开对应页面
这时如果点击通知的显示按钮,会调用didFinishLaunchingWithOptions,不会调用didReceiveRemoteNotification方法。
码客说
2019/10/22
2.7K0
iOS | Xcode中快速打开终端
来自蒙山大洼风景区的炫彩大蜘蛛,大概有成年人的小拇指指肚那么大,拍于2022年10月。小时候玩具少,常拿这种大蜘蛛做玩具。找一个两股叉的树枝,蜘蛛在上面爬的时候就旋转树枝,然后就得到了一个网。
CnPeng
2023/01/11
3.4K0
iOS | Xcode中快速打开终端
iOS自动打开闪光灯
现在好多应有都具备扫码功能,为了减少用户操作,一般会在光线比较暗的时候,自动打开闪光灯: 1、导入头文件 #import <AVFoundation/AVFoundation.h> #import <ImageIO/ImageIO.h> 2、创建设备、输入输出流 // 1.获取硬件设备 AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; // 2.创建输入流
czjwarrior
2018/05/28
1.2K0
iOS 工程文件.xcodeproj无法打开
感谢以下大佬: https://www.jianshu.com/p/e82ec6a56fc2 https://blog.csdn.net/kuangdacaikuang/article/details/52987132 https://www.jianshu.com/p/dd58925dfa5d![sabo.png]
且行且珍惜_iOS
2018/10/25
3K0
减小iOS应用程序的大小
A: 本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装程序时)。如果是针对升级程序的话,可以看这篇文章(减小iOS应用程序升级时所需下载的大小)(这与第一次安装使用的工作原理有所不同)。
HelloWorld杰少
2022/08/03
7020
从服务器映射 jupyter 到本机应用
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
为为为什么
2022/08/05
1.1K0

相似问题

Javascript FileReader()

20

Javascript fileReader

11

使用FileReader API

10

FileReader API的填充

13

FileReader API 'load‘事件

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文