ASP.Net Core程序發佈
環境:
- Visual Studio 2019
- .Net Core 3.1
- Angular9
步驟:
1、打開已經創建好的Angular Web Application項目,在項目上右鍵,點擊【發佈】
2、在【選取發佈目標】對話框中,選擇【文件夾】,點擊【高級】
3、選擇目標框架、部署模式、目標運行時,確定無誤後點擊【保存】
-
目標框架:當前項目使用的是.Net Core 3.1,所以選取netcoreapp3.1
-
部署模式:分爲"框架依賴"和"獨立"兩種模式
-
- 框架依賴:目標服務器需要安裝.net core runtime等外部依賴,生成的程序小,發佈速度快
- 獨立:目標服務器可不安裝.net core runtime等外部依賴,系統生成時會將項目運行所需的依賴全部打包在一起,項目文件大,速度耗時較長
-
目標運行時:根據目標服務器的環境選擇,當前項目使用linux系統,所以選取linux-x64
4、點擊【創建配置文件】創建發佈配置文件
5、點擊【發佈】進行程序發佈
問題一:
發佈過程中,報錯"npm run build – --prod" exited with code 1
解決方案:
在Angular項目目錄下運行以下代碼,即可查看實際的錯誤
npm run build --prod
修復報錯,直至運行上述命令成功。
實踐過程中,步驟一是最直觀有效的,以下方法爲百度查詢的一些方法,可供參考:
(1)進入ClientApp文件,然後在CMD命令行中運行
npm install build
這時,就可以看到實際的錯誤了,修復錯誤,直到上面的命令運行成功。
(2)若依然報錯"npm run build – --prod":
a、編輯項目文件,將項目文件中的【npm run build – --prod】改爲【npm run build --prod】;
b、進行ClientApp文件,使用CMD命令更新項目的angular/cli
npm install --save-dev @angular/cli@latest
c、如果NodeJS和npm沒有添加到系統環境變量中的話,更新Visual Studio 的NodeJS和npm,路徑:【工具】–【選項】–【項目和解決方案】–【Web包管理】–【外部Web工具】
問題二:
Cannot find module ‘@babel/core’
解決方案:
運行以下命令進行卸載重裝
//卸載
npm un babel-core
//重裝
cnpm i -D @babel/core
問題三:
no such file or directory, rename ‘…[email protected]@globby\node_modules\object-assign’ -> ‘…[email protected]@globby\node_modules\object-assign’
解決方案:
將Angular項目下的package-lock.json文件刪掉,如果沒有這個文件,或者刪除後還報錯,可嘗試以下這種方式:
因爲一開始安裝angular依賴的時候是使用的cnpm install
命令,現在改用npm install
重新進行安裝,再次是用npm install build
就不會報這個錯了
問題四:
can’t not resolve ‘events’ in ‘…\webpack\hot’
解決方案:
在Angular項目中安裝webpack,然後重新運行即可
npm install webpack
olve 'events' in '.......\webpack\hot'
**解決方案:**
在Angular項目中安裝webpack,然後重新運行即可
npm install webpack