Node.js Expressjs路由再次优先
我的问题是。我知道express.js的顺序是先到先得。但随着代码的轰鸣,我不明白为什么“\uuu dirname”在上面的其他代码中声明并修复,但不管我从/public/abc.js调用javascript,应用程序都会返回主页的HTML标记。 我的页面包含一些javascript,无法加载。服务器返回100%的HTML 我使用的是express generator,文件夹的结构如下 NodeJSNode.js Expressjs路由再次优先,node.js,express,Node.js,Express,我的问题是。我知道express.js的顺序是先到先得。但随着代码的轰鸣,我不明白为什么“\uuu dirname”在上面的其他代码中声明并修复,但不管我从/public/abc.js调用javascript,应用程序都会返回主页的HTML标记。 我的页面包含一些javascript,无法加载。服务器返回100%的HTML 我使用的是express generator,文件夹的结构如下 NodeJS var routes = require('./routes/index'); var api
var routes = require('./routes/index');
var api = require('./routes/api');
var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/api', api);
app.use('/users', users);
app.use('/:shopName', function(req, res, next) {
req.shopName = req.params.shopName;
next();
}, routes);
app.use('/', function(req, res) {
res.render('index', {
title: 'MainPage'
});
});
客户端Javascript放入脚本标记,如
<script type="text/javascript" src='./public/javascripts/Crypto/crytoUtils.js'></script>
浏览器在控制台中发出错误“Uncaught SyntaxError:意外标记帮我解决这个问题。。。请。感谢js文件的路径应该是/abc.js,public被忽略,除非您使用以下命令将其设置为静态文件的根目录:
app.use('/public', express.static(path.join(__dirname, 'public')));
为了清楚起见,我建议不要使用上述代码,而是修改脚本标记src属性中的url,以适当地将文件定位在/javascripts/Crypto/crytoUtils.js位置,那么您使用的路径仍然不正确。这是一个非常简单的问题,您只需使用正确的路径,即在浏览器中访问该文件时使用的路径。这不是代码问题或编程问题。只是错误的网址。