webpack打包错误的解决办法:webpack : 无法加载文件 C:\Users\lili\AppData\Roaming\npm\webpack.ps1,因为在此系统上禁止运行脚本。


使用Hbuilder建立了一个web项目。然后在使用webpack打包时,终端出现了如下的错误信息:

 

查其原因是因为powershell对于脚本的执行有着严格的安全限制。

可以使用Set-ExecutionPolicy来修改PowerShell中执行策略的用户首选项(preference). 执行策略是Windows PowerShell安全策略中的一部分. 它将决定你是否可以载入配置文件(包括你的Windows PowerShell profile文件)和运行脚本, 它将会在运行前确定哪些文件必须具有数字签名(digitally signed).

其可选的参数如下:

Restricted: 不载入配置文件, 不执行脚本. "Restricted"是默认值.
AllSigned: 所有的配置文件和脚本必须通过信任的出版商签名(trusted publisher), 这里所指的脚本页包括你在本地计算机上创建的脚本.
RemoteSigned: 所有从互联网上下载的脚本必须通过信任的出版商签名(trusted publisher).
Unrestricted: 载入所有的配置文件和脚本. 如果你运行了一个从互联网上下载且没有数字签名的脚本, 在执行前你都会被提示是否执行.
 
由于默认值是Restricted,所以才会有上述错误信息,于是我们可以通过修改执行策略来解决上述遇到的问题
 
解决方案:
一、使用管理员身份打开PowerShell
二、键入Set-ExecutionPolicy RemoteSigned命令
三、键入Y
最后可以使用Get-ExecutionPolicy来看看是否修改成功

 

 

 虽然最后打包成功,但是在这个过程中,还是出现了两点疑问:

1.为什么在设置执行策略之后,hbulider自带的终端上任然不能使用webpack命令,连版本号都查看不了?

2.为什么使用管理员身份打开cmd,在cmd中不能执行set-execution或者get-execution命令,只能在powershell上执行?

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM