node.js - Angular JS 未在 Jade 中渲染(使用 Node.js)

标签 node.js angularjs render pug stylus

我面临的问题是我的 Angularjs 未在 Jade 布局中渲染或加载。不知怎的,手写笔工作得很好。我无法找出原因。我还是刚开始学习jade、stylus和angularjs

下面是我的代码:

index.jade

!!! 5
html(ng-app='ng-app')
head
    script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js')
    script(src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular-resource.min.js')
    script(src='https://cdn.firebase.com/v0/firebase.js')
    script(src='http://firebase.github.io/angularFire/angularFire.js')
    script(type='text/javascript', src='angular.js')
    link(rel='stylesheet', href='style.css')
  body
    .addressBook(ng-controller='addressBook')
      h1 Address Book
      table(width='710px', border='0', cellspacing='0', cellpadding='0')
        tr.title(height='35px', align='left')
          td(width='130') Name
          td(width='180') Email
          td(width='210') Address
          td(width='80') Mobile
        tr.details(ng-repeat='contact in contacts')
          td {{contact.name}}
          td {{contact.email}}
          td(style='padding-bottom: 30px;') {{contact.address}}
          td {{contact.mobile}}

Angular.js

function addressBook($scope)
{
    $scope.contacts =
    [
        {name:'Peter', email:'john_peter@asd.co', address:'No.123, Road 12/20, Street Army, 58200 KL, Malaysia', mobile:'601231231234' },
        {name:'Lim', email:'Amy@asd.co', address:'54, 13/15, Happy Garden, 58200 KL, Malaysia', mobile:'60123473534' }

    ];
}

app.js

var jade = require('jade')
 , express = require('express')
 , http = require('http')
 , app = express();
 var stylus = require('stylus');
 require('./angular.js');

app.configure(function(){
    console.log('Configuring views....');
    app.set('port', 1234);
    app.set('views', './');
    app.use(express.bodyParser());
    app.use(express.static( __dirname + '/'));
    app.set('view engine', 'jade');
});

app.get('/test', function(req,res){
    res.render('index.jade');
});

server = http.createServer(app);
server.listen(app.get('port'), function(){
}).on('error', function(err) {
   throw err;
});

提前感谢所有提供帮助的人

最佳答案

我怀疑您遇到的问题是您指定的 View 路径是错误的,并且您正在静态地提供它们。

例如,如果您的 View 位于基本目录的子目录中,并且您已将基本目录设置为静态内容,则它将以静态内容提供 Jade 。

您应该做的是将 View 放在与静态内容不同的文件夹中,这样它就是同级而不是子级,这应该可以工作。如果你想发布你的目录结构我可以看看。

关于node.js - Angular JS 未在 Jade 中渲染(使用 Node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20112422/

相关文章:

javascript - Node.js错误: "Unexpected token ;" while on node-webkit

javascript - 自定义 useFetch Hook 中的无限循环

angularjs - 如何在 AngularJS 单页应用程序中返回 http 状态代码?

javascript - 如何在 Angular js中跨 Controller 共享功能

java - GL11 纹理渲染错误

javascript - React循环数组和rende对象

javascript - API 的集成与单元测试

javascript - 向 Node 发送信用卡信息

node.js - 创建 Express 服务时如何在 Node.js 中使用 `index.js`?

angularjs - Angular ng-options 根据ajax数据添加选择