【问题标题】:move Angular project to sub dir of express app将 Angular 项目移动到 express 应用程序的子目录
【发布时间】:2018-09-29 01:13:23
【问题描述】:

我想提供与我的 Angular 应用程序分开的静态页面 - 基本上,我有一个成员区域,即我的 Angular 应用程序...以及大量静态 html...

所以我有这样的快速路由

app.use(express.static(path.join(__dirname,'public')));
app.use(express.static(path.join(__dirname,'members')));

app.get('/', (req,res) => {
    res.sendFile(path.join(__dirname,'public/index.html'));
})
app.get('/members/', (req,res) => {
    res.sendFile(path.join(__dirname,'members/index.html'));
})

app.listen(port, ()=>{
    console.log('Started on port ' + port);
})

我跑 ng build --prod --aot --base-href /members/

我将 dist 文件夹重命名为“members”

现在我得到所有捆绑文件的 404,例如

GET http://localhost:3002/members/inline.318b50c57b4eba3d437b.bundle.js net::ERR_ABORTED 404 (Not Found)

我做错了什么?该文件在该路径中....

目录结构如下所示

app.js 
  /public
     |-- index.html
  /members
     |-- index.html
     |-- inline...bundle.js
     |-- main...bundle.js
     |-- polyfills...bundle.js
     |-- styles...bundle.css

【问题讨论】:

  • 试试ng build -prod --base-href /members --deploy-url /public
  • 我在没有部署 URL 的情况下做到了 - 它似乎奏效了。构建过程将 - 我不知道为什么它会在那里放置完整路径 - 但使其 解决了最后一个问题......所以将 --base-href /members/ (我的 cmd)更改为 --base-href /members (你的建议)有效 - 我会测试更多 - 我也改变了我的 angular-cli.json "outDir “:“../成员”。 THX
  • 太棒了!似乎以/ 结尾,他们放置了孔路径,因为它是一个目录或其他东西。很高兴知道
  • 如果您回答 - 我会标记为回答并点赞
  • 会做的,谢谢。很高兴为您提供帮助

标签: angular express


【解决方案1】:

您需要将其更改为ng build -prod --base-href /members

由于某些我们还不知道的原因,最后的/ 表示放置项目整个路径的角度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2017-07-29
    • 2021-02-17
    • 1970-01-01
    • 2021-08-08
    • 2017-02-06
    相关资源
    最近更新 更多