How to serve static HTML files in Nest.js?(如何在Nest.js中提供静电Html文件?)
本文介绍了如何在Nest.js中提供静电Html文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要提供位于Nest项目外部的/dist文件夹中的静电HTML文件。index.html加载成功,但无法加载任何JS文件(404错误)。
我有一个Node/Express.js项目,它使用
app.use('/', express.static('../client/dist'))
并且工作正常。
但是,在Nest项目中
app.setBaseViewsDir(join(__dirname, '../../client/dist'))
不起作用。
在AppController我尝试了
import { Response } from 'express';
@Get()
get(@Res() res: Response) {
res.sendFile('index.html', {
root: '../client/dist',
});
}
但没有运气。
如前所述,index.html加载成功。因此,问题不是一条错误的道路。index.html中的src路径错误也不是问题,因为在Express项目中使用的是完全相同的文件。
/dist
|-index.html
|-main.js
|-etc.
在index.html:
<script type="text/javascript" src="main.js"></script>
当我将dist文件夹放入Nest项目(并调整路径)时,它也不起作用。
我找到了解决方案:
我现在使用EXPRESS模块:
import * as express from 'express';
...
app.use('/', express.static('../client/dist'));
推荐答案
关于Nest.js的official documentation,应该这样服务静电文件:
安装所需的软件包:
npm install --save @nestjs/serve-static
更新app.module.ts如下所示:
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ServeStaticModule } from '@nestjs/serve-static';
import { join } from 'path';
@Module({
imports: [
ServeStaticModule.forRoot({
rootPath: join(__dirname, '..', 'client'), // <-- path to the static files
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
这篇关于如何在Nest.js中提供静电Html文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:如何在Nest.js中提供静电Html文件?
基础教程推荐
猜你喜欢
- 如何添加到目前为止的天数? 2022-01-01
- Bokeh Div文本对齐 2022-01-01
- Bootstrap 模态出现在背景下 2022-01-01
- 即使用户允许,Gmail 也会隐藏外部电子邮件图片 2022-01-01
- 检查 HTML5 拖放文件类型 2022-01-01
- fetch 是否支持原生多文件上传? 2022-01-01
- npm start 错误与 create-react-app 2022-01-01
- 原生拖动事件后如何获取 mouseup 事件? 2022-01-01
- 在 contenteditable 中精确拖放 2022-01-01
- Fabric JS绘制具有活动形状的多边形 2022-01-01
