如何在 Node 项目中渲染来自 Angular 项目的索引
How to render index from Angular project in Node Project
我有两个文件夹放到一个principal文件夹里,一个叫frontend,有angular项目,另一个叫backend,这个文件夹有backend和所有API。我会像SSR项目一样切换这个项目,可以将angular项目集成到一个节点项目中,然后当我执行
npm run dev
并且节点项目在各自的端口上启动,前端端自动在其中启动。
我尝试了多种方法来创建从一个文件夹到另一个文件夹的路径,但没有成功。
如果我这样做
const indexTest = (path.join(__dirname, `../frontend/src/index.html`))
server.get('/', (req, res) => {
res.render(indexTest)
})
出现这个错误
但是,如果我那样做
const indexTest = (path.join(__dirname, `../frontend/src/index.html`))
server.get('/', (req, res) => {
res.sendFile(indexTest)
})
不显示任何错误,但主页面是空白的
服务器固件代码
服务器应用index.js主体
您正在尝试根据源代码呈现前端,但这行不通。
在 Angular 个项目中,您需要先构建代码,然后再渲染它。
如果你想做SSR,那么你需要使用类似Angular Universal
的东西
另一种选择是将后端指向 dist
文件夹,然后 运行 angular cli in watch mode(滚动到底部)。像这样:ng build --watch --output-path dist
您需要将 this code 添加到您的后端。
大概是这样的:
server.use(express.static('../frontend/dist'))
我有两个文件夹放到一个principal文件夹里,一个叫frontend,有angular项目,另一个叫backend,这个文件夹有backend和所有API。我会像SSR项目一样切换这个项目,可以将angular项目集成到一个节点项目中,然后当我执行
npm run dev
并且节点项目在各自的端口上启动,前端端自动在其中启动。
我尝试了多种方法来创建从一个文件夹到另一个文件夹的路径,但没有成功。
如果我这样做
const indexTest = (path.join(__dirname, `../frontend/src/index.html`))
server.get('/', (req, res) => {
res.render(indexTest)
})
出现这个错误
但是,如果我那样做
const indexTest = (path.join(__dirname, `../frontend/src/index.html`))
server.get('/', (req, res) => {
res.sendFile(indexTest)
})
不显示任何错误,但主页面是空白的
服务器固件代码
服务器应用index.js主体
您正在尝试根据源代码呈现前端,但这行不通。 在 Angular 个项目中,您需要先构建代码,然后再渲染它。
如果你想做SSR,那么你需要使用类似Angular Universal
的东西另一种选择是将后端指向 dist
文件夹,然后 运行 angular cli in watch mode(滚动到底部)。像这样:ng build --watch --output-path dist
您需要将 this code 添加到您的后端。
大概是这样的:
server.use(express.static('../frontend/dist'))