我对Jade很陌生,在我的节点.js项目中,没有加载js和css外部文件。我使用jade作为模板引擎,bower_component,angular.js作为javascript mvc,css框架的bootstrap和Cloud9作为编辑器。 我的代码如下:
我的项目结构:
-jobproject
|----node_modules
|-- bower
|-- express
|-- jade
|---public
|--- app
|-- app.js
|--- bower_components
|-- angular
|-- angular.js
|-- bootstrap
|-- dist/css/bootstrap.min.css
|-- jquery
|-bower.json
|-index.jade
|-package.json
|-README.md
|-server.js
在服务器.js文件中 ::
var express = require("express");
var app = express();
app.set('views', __dirname);
app.set('view engine', 'jade'); // jade view engine
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res) {
res.render('index.jade');
});
app.listen(process.env.PORT, process.env.IP); // default cloud9 port
在索引中翡翠 ::
link(rel="stylesheet", href="bower_conponents/bootstrap/dist/css/bootstrap.min.css")
script(type='text/javascript', src='bower_conponents/angular/angular.js')
script(type='text/javascript', src='/app/app.js')
body(ng-app='app')
div(ng-controller='testCtrl')
div {{ test }}
span(class='btn btn-primary') hello world
在应用程序中.js ::
angular.module('app', []);
angular.module('app').controller('testCtrl', function($scope) {
$scope.test = 'working';
})
在浏览器窗口中:
{{ test }} <!-- should be "working"
hello world <!-- show be bootstrap button style, but only plain text -->
在控制台窗口中:
angular.js:1 Uncaught SyntaxError: Unexpected token <
app.js:1 Uncaught ReferenceError: angular is not defined
看起来你应该尝试:
link(rel="stylesheet", href="bower_components/bootstrap/dist/css/bootstrap.min.css")
script(type='text/javascript', src='bower_components/angular/angular.js')
而不是:
link(rel="stylesheet", href="bower_conponents/bootstrap/dist/css/bootstrap.min.css")
script(type='text/javascript', src='bower_conponents/angular/angular.js')
可能是拼写错误。鲍尔附庸?
如果您按照正在执行的教程使用 heroku,请确保在尝试查看更改之前添加文件并提交它们并推送到 heroku。