在我的gulpfile.js
中,我将express
设置为始终返回index.html
。
var server = express();
server.use(livereload({ port: 35729 }));
server.use(express.static('./app'));
server.all('*', function(req, res) {
res.sendFile('index.html', { root: './app' });
});
server.listen(8000);
refresh.listen(35729);
当我第一次导航到localhost:8000
时,一切都很好。我的Angular路由重定向到http://localhost:8000/home
。
但是,如果我刷新http://localhost:8000/home
,我会在控制台中看到以下错误:
Uncaught SyntaxError: Unexpected token <
为什么会发生这种情况?
DEMO HERE
这是由angular route
引起的错误。index.html
中的脚本引用需要相对于根。否则将找不到它们。
<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/angular-route/angular-route.js"></script>
<script src="/app.js"></script>
<script src="/home/home.js"></script>
<script src="/home/home-controller.js"></script>
<script src="/dashboard/dashboard.js"></script>
<script src="/dashboard/dashboard-controller.js"></script>