我有这段代码,它允许我从特定的文件夹中打开一个超文本标记语言页面,如果我使用server.js打开这个HTMLpage,这样页面就会生成所有的css和jquery文件,但如果我尝试将get语句移动到routes文件夹,那么页面就会生成,但没有任何css和jquery文件,我不知道为什么!
我在server.js中为生成超文本标记语言页面所做的工作如下所示,它工作得很好:
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中实现了这条语句
app.use('/users', require('./backend/routes/profile.routes.js'));step2 :我在routes.js中尝试了这个语句,但只做了简单修改:D:
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 ...),它们位于
/public/AppTemplate/src输出图像如下:

希望我提到了一切,致以最好的问候,
发布于 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中的查找和替换功能来加快此过程。
https://stackoverflow.com/questions/61341172
复制相似问题