项目场景:
vue.js 学习下发生的错误信息,以及解决方式
问题描述:
进行 Webpack 命令打包所发生的错误
控制台 webpack 命令:
webpack runoob.js bundle.js
错误提示:
webpack : 无法加载文件 C:\Users\XXX\AppData\Roaming\npm\webpack.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135
170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ webpack runoob.js bundle.js
+ ~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
原因分析:
PowerShell 对于脚本的执行有着严格的安全限制 默认是不载入配置文件的 因而报错
可使用 Set-ExecutionPolicy 指令来修改 PowerShell 中执行策略的用户首选项
PowerShell 执行脚本的四个权限等级选择:
- Restricted:不载入配置文件 不执行脚本【默认该权限等级】
- AllSigned:所有配置文件和脚本必须通过信任的出版商签名 这里的脚本页包括在本地计算机上创建的脚本
- RemoteSigned:所有从互联网上下载的脚本必须通过信任的出版商签名
- Unrestricted:载入所有的配置文件和脚本如果运行了一个从互联网上下载且没有数字签名的脚本 在执行前会提示是否执行
解决方案:
- 以管理员方式打开 PowerShell
- 输入
Set-ExecutionPolicy RemoteSigned
命令 将脚本执行权限修改为 RemoteSigned
参照: Piconjo_Official