使用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上執行?
