我想在angular的route.js里templateUrl直接指向html文件,这样我在express的route可以省下几个get 的api 去render 文件过去了
在网上看到这个解决方案
测试过,这个还是会占用get的api去render文件过去,还是不能用angular的route去加载文件
想问下怎么解决?
试试这样行不行?
服务器: app.use(express.static(path.join(__dirname, ‘public’))); 路由: app.get(’/’, function(req,res) { res.sendfile(‘public/name_of_static_file.extension’); });
直接写这个呢?别的都不要了,就是当成静态文件服务器,还有没有提示?
app.use(express.static(__dirname + ‘/public’));
参考了这里:http://stackoverflow.com/questions/17911228/how-do-i-use-html-as-the-view-engine-in-express
如果要使用路由的话,就得自己写个简易的视图引擎 http://stackoverflow.com/a/23834230
@darknighten 静态文件服务器就没有意义了啊 我希望angular来控制模板的加载,如果你是静态文件服务器,那我在地址栏就可以输入路径,直接访问你具体的html文件了 但是我希望地址栏只漏出path或者state,angular根据这个state或者说path来去找templateUrl来 加载模板
templateUrl 里面的地址就写成静态文件服务器中对应的文件地址,就是让ng去访问静态文件就可以了,客户端看不到
.state('userLog', {
url: '/userLog',
templateUrl: '静态文件.html'
})
@THCloud 这个试试
var express = require('express');
var http = require('http');
var app = express();
app.use(express.static(__dirname + '/public'));
http.createServer(app).listen(3000);