安装 npm install webpack-cli -g
全局安装 webpack-cli 模块
安装 npm install webpack --save-dev
项目中安装以上两个模块后使用 webpack
命令出现以下错误:
ERROR: 无法加载文件 …\nodejs\dev\nodejs\webpack.ps1
PS M:\Node.js\webpack> webpack
webpack : 无法加载文件 H:\nodejs\dev\nodejs\webpack.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ webpack
+ ~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS M:\Node.js\webpack> set-ExecutionPolicy RemoteSigned
set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动
Windows PowerShell。要更改当前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
所在位置 行:1 字符: 1
+ set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand
解决方案:
根据错误提示信息,以管理员身份运行Windows PowerShell,更改当前用户的执行策略:
-
在终端执行:get-ExecutionPolicy,显示Restricted(表示状态是禁止的)
-
在终端执行:set-ExecutionPolicy RemoteSigned
-
在终端执行:get-ExecutionPolicy,显示RemoteSigned
ERROR: Cannot read property ‘presetToOptions’ of undefined
PS M:\Node.js\webpack\> webpack
M:\Node.js\webpack\node_modules\webpack-cli\bin\cli.js:137
const statsPresetToOptions = require("webpack").Stats.presetToOptions;
^
TypeError: Cannot read property 'presetToOptions' of undefined
at processOptions (M:\Node.js\webpack\node_modules\webpack-cli\bin\cli.js:137:57)
at M:\Node.js\webpack\node_modules\webpack-cli\bin\cli.js:364:3
at Object.parse (M:\Node.js\webpack\node_modules\yargs\yargs.js:576:18)
at M:\Node.js\webpack\node_modules\webpack-cli\bin\cli.js:49:8
at Object.<anonymous> (M:\Node.js\webpack\node_modules\webpack-cli\bin\cli.js:366:3)
无法读取未定义的属性“presetToOptions”
解决方案:
根据错误提示信息,打开node_modules\webpack-cli\bin\cli.js
找到第137行,把const statsPresetToOptions = require(“webpack”).Stats.presetToOptions;中间 Stats
后的 .
删掉。
保存后再次运行webpack
命令就成功了!
解决成功