环境:
- 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@latestc、如果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 '........\_globby@6.1.0@globby\node_modules\object-assign' -> '.......\_globby@5.0.0@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