【js框架】随笔

1、view engine将ejs换成了html

首先install consolidate swig

var cons = require('consolidate');

app.engine('html', cons.swig);

app.set('view engine', 'html');

app.set('views', path.join(__dirname, '/views'));

因为模块原因,程序里views改成了modules

2、favicon.ico 500错误

这个是网页title前面的图标,也是收藏网站的时候显示的图标

有个中间件是解决这个问题的connect-favicon

git地址: https://github.com/theworkers/connect-favicons

install之后

var favicons = require('connect-favicons');

app.use(favicons(__dirname + '/public/images'));

找个图片改名为favicon.ico放到images文件夹下面即可

3、浏览器地址#

用ui-route,地址栏变化的时候总是多出来一个#,看着很闹心

在angular myapp的config中,加入  $locationProvider.html5Mode(true);

然后在index.html页面中设置  <base href="/"> 

这样地址跳转时就不会有#了

但是这样之后就出现了问题,虽然从首页点击可进入登录等页面,但直接刷新就会跳转到error页面,刷新的时候地址栏要加上/#

这是因为刷新的时候,请求是被放到后台app.js解析的,于是就404了

解决方法是在app.js文件中加入

app.use(function (req, res) {
    console.log(req.path);
    if(req.path.indexOf('/api')>=0){
        res.send("server text");

    }else{
res.render("views/index");
    }
});

 参考: AngularJS去掉的URL里的#号

原文地址:https://www.cnblogs.com/lww930/p/5550044.html