【发布时间】:2018-05-23 23:07:40
【问题描述】:
我是 Angularjs 的新手,我正在尝试使用 ngRoute 创建一个基本的单页应用程序。但我有一个问题。我不希望我的用户每次都获取 index.html 文件。但是如果 url 是 /page1 我的服务器正在返回 page1 所以 index.html 没有加载。我试图通过这样做来修复它:
角度文件:
test.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl : '/page1',
controller : 'trapController'
})
.when('/test', {
templateUrl : '/page2',
controller : 'trapController'
});
$locationProvider.html5Mode(true);
});
Node.js 文件:
require('dotenv').load();
const express = require('express');
const app = express();
const port = process.env.PORT || 8080;
const bodyParser = require('body-parser');
const path = require('path');
const apirouter = require('./apirouter');
const viewrouter = require('./viewrouter');
app.use('/api', apirouter);
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(express.static(__dirname + '/public'));
app.engine('html', require('ejs').renderFile);
app.use('/*', function(req, res){
res.sendFile(__dirname + '/public/index.html');
});
// START THE SERVER
// =============================================================================
app.listen(port, () => {
console.log('Server running on port ' + port);
});
但是这种方式没有任何工作..似乎每个呼叫都在询问服务器而不是查看公用文件夹。因此,当我调用 .js 文件时,它会为我加载一个新的 index.html 文件……我不知道该怎么做……你能帮帮我吗? :)
【问题讨论】:
标签: node.js angular express routing public