背景
因此,我有一个简单的Express应用程序(用快递生成器制作)具有这个结构(y只显示相关部分):
myapp
├── app.js
├─┬ public
│ └─┬ assets
│ ├── css
│ └── js
├─┬ routes
│ └── admin.js
└─┬ views
├── layout.pug
├── admin.pug
└── process.pug我的观点
我的layout.pug是这样的
html
head
title= title
link(rel='stylesheet', href='assets/css/main.css')
script(type="text/javascript", src="assets/js/main.js")
block imports
body
/*navigation*/
block contents而admin.pug是
extends layout
block imports
script(type="text/javascript", src="assets/js/admin.js")
block contents
p Admin page而process.pug是
extends layout
block imports
script(type="text/javascript", src="assets/js/process.js")
block contents
p Process page
p= id我的路线
我有一个路径文件,admin.js:
var express = require('express');
var router = express.Router();
router.get('/process/:id', function(req, res, next) {
res.render('process', {
title: 'process page',
id: req.params.id
});
}
router.get('/', function(req, res, next) {
res.render('admin', {
title: 'admin page'
});
}
module.exports = router;我的app.js
我在app.js文件中所做的相关工作如下:
var admin = require('./routes/admin');
var app = express();
app.use(express.static(path.join(__dirname, 'public')));
app.use('/admin', admin);问题所在
我的应用程序就像我上面写的那样,我的'/admin/ page运行得非常好。但是,当我试图导航到'/admin/process/id‘时,它不会从我的公用文件夹中加载任何资源。它尝试从'/admin/process/assets/‘而不是'/assets/’加载。
我试过的
我完全迷上了这个,但我试过几样东西。
'/admin/process'文件中创建admin.js路由会得到相同的结果(不加载资源)。app.use('/admin/process', newFile);,结果是相同的行为。发布于 2017-06-26 11:58:17
为文件添加绝对路径- layout.pug
link(rel='stylesheet', href='/assets/css/main.css')
script(type="text/javascript", src="/assets/js/main.js")admin.pug
script(type="text/javascript", src="assets/js/admin.js")process.pug
script(type="text/javascript", src="/assets/js/process.js")https://stackoverflow.com/questions/44758932
复制相似问题