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="bWFpbi5qcw=="></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文件?
猜你喜欢
- Fetch API 如何获取响应体? 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Flexslider 箭头未正确显示 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
