首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs sendfile html页面

nodejs sendfile html页面
EN

Stack Overflow用户
提问于 2020-04-21 18:19:53
回答 1查看 45关注 0票数 0

我有这段代码,它允许我从特定的文件夹中打开一个超文本标记语言页面,如果我使用server.js打开这个HTMLpage,这样页面就会生成所有的css和jquery文件,但如果我尝试将get语句移动到routes文件夹,那么页面就会生成,但没有任何css和jquery文件,我不知道为什么!

我在server.js中为生成超文本标记语言页面所做的工作如下所示,它工作得很好:

代码语言:javascript
复制
const folderPath = __dirname + '/public/AppTemplate/src'
app.use(express.static(folderPath))
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', function (req, res) {
  res.sendFile(path.join(__dirname + '/public/AppTemplate/src/index.html'));
});

但我现在尝试的是从routes.js获取html页面:

步骤1:我在server.js中实现了这条语句

代码语言:javascript
复制
app.use('/users', require('./backend/routes/profile.routes.js'));

step2 :我在routes.js中尝试了这个语句,但只做了简单修改:D:

代码语言:javascript
复制
router.get('/profile', function (req, res) {
  const dirname = __dirname;
  console.log(dirname)
  const newpath = dirname.length - 14;
  const newP = dirname.substring(newpath, dirname.lastIndexOf("/"));
  console.log(newP);
res.sendFile(path.join(newP+ '/public/AppTemplate/src/02-ProfilePage.html'));
});

步骤2正在工作,但我无法获得所有相关文件(jquery css ...),它们位于

代码语言:javascript
复制
/public/AppTemplate/src

输出图像如下:

希望我提到了一切,致以最好的问候,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 18:39:59

这是因为02-ProfilePage.html中的内容路径不正确。

检查脚本标记中的路径。如果有一个斜杠,这意味着它已经在您指定的/public/AppTemplate/src中。

例如,/js/file.js实际上将指向/public/AppTemplate/src/js/file.js

也许可以尝试在脚本标记中的路径前面添加一个/

示例:

/css/x/y/z/代替css/x/y/z

您必须将/附加到脚本/链接标记中的所有路由,才能成功加载本地资源。

如果可能,您可以使用代码编辑器或IDE中的查找和替换功能来加快此过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61341172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档