angular - 在 iis 上发布 Angular 应用程序 - 仅在 iis 端出错
问题描述
我在 Visual Studio 中创建了应用程序 .net 3.0 + Angular 8。然后我将角度升级到版本。10. 当我在本地运行应用程序时一切正常,但是当我在 iis 上发布它时出现此错误:
没有这样的文件或目录,打开 'C:\Websites\App\ClientApp\package.json'
我改变了 Startup.cs
services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist/App"; });
但这无济于事。
版本 8 在 iis 上工作没有任何问题。
我的包.json
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build:ssr": "ng run App:server:dev",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
与@Yiyi 一起编辑你帮助我继续前进。现在我得到了这个错误
The error output was: The serve command requires to be run in an Angular project, but a project definition could not be found.
我更新了每个(角度、节点等),将变量 npm 添加到 PATH,将 package.json 和 node_module 复制到项目,添加了对 app_pool 的权限
感谢帮助
解决方案
首先,你需要检查'C:\Websites\App\ClientApp\package.json'是否存在。在本地运行应用程序或在IIS上运行,路径可能不同,因为它不是完整路径。所以如果'C:\ Websites\App\ClientApp\package.json' 不存在,您需要将您的 packsage.json 添加到路径C:\Websites\App\ClientApp
中。
推荐阅读
- angular - 从另一个父级到命名路由的角度路由
- reactjs - 给出这个的 React Routes 组件在 axios 拦截器上未定义
- angular - 有没有办法让除法标签有if和else?
- javascript - 通过 USB 从设备接收的解码缓冲区
- html - 如何对齐表格单元格中心的值?
- reactjs - 使用反应更改 onclick 事件的颜色
- c++ - 标题中的“void f(auto) {}”是否需要“内联”?
- web-scraping - 谷歌新闻网址中的“ceid”是什么意思
- mysql - MySQL - 右连接或右连接
- c++ - 如何以垂直和水平线对存储在 std::vector 中的矩形坐标进行排序