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文件?
基础教程推荐
猜你喜欢
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- HTML5 画布调整为父级 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
