Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
328 views
in Technique[技术] by (71.8m points)

express+angular,使用templateURL的路径问题

使用express构建的服务,没有使用视图引擎,将项目目录设置为静态:

app.use(express.static(__dirname + '/public'));
app.use(express.static(__dirname + '/view'));
app.use(express.static(__dirname + '/node_modules'));

node入口文件index.js在根目录下,目录结构为:

/
/index.js
/public
/view
/view/index.html(首页)
/view/sidebar.html(侧边菜单)
/public/js/app.js(首页的js文件)

index.html中引入如下:

<script src="angular/angular.min.js"></script>
<script src="angular-route/angular-route.min.js"></script>
<script src="js/app.js"></script>

index.html指令如下:

<my-sidebar></my-sidebar>

app.js如下:

var app = angular.module("myBlog", ["ngRoute"]);
app.directive("mySidebar", function () {
    return  {
        restrict: "E",
        replace: true,
        templateURL: "sidebar.html",
    }
})

经过测试发现templateURL没有起作用,请问应该如何写这个路径,或者如何查看这里的templateURL到底被解析成了什么样子?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

已经解决,我的chrome出了点问题,原代码即是正确写法。
提供一种使用ejs视图引擎的方法:

app.engine('html', require('ejs').__express);
app.set('view engine', 'html');

app.get('/sidebar.html', function (req, res) {
   res.render('sidebar.html');
})

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...