使templateUrl指向一个html文件
在项目的angularApp.js
中,我想用templateUrl
定义一个状态。 首先,我尝试了以下内容:
app.config(['$stateProvider', function ($stateProvider) { $stateProvider .state('editor', { url: ..., templateUrl: '/editor.html', controller: ... })
控制台显示[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (editor.html, line 0)
在http://localhost:3000/editor.html
处[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (editor.html, line 0)
,而不是editor.html
。
然后,我尝试了一个相对path
`templateUrl: '../../../../../Start/PRODSERVER/funfun/views/editor.html'`,
控制台在http://localhost:3000/Start/PRODSERVER/funfun/views/editor.html
显示相同的错误。 但是,在浏览器中打开http://localhost/Start/PRODSERVER/funfun/views/editor.html
确实会打开正确的文件。
有谁知道如何解决这个问题?
PS: angularApp.js
在文件夹public/javascripts/
; 主页index.ejs
在文件夹views/
; 我已经把editor.html
放在文件夹views/
中。 app.js
只是在主文件夹中:
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var passport = require('passport'); require('./models/Posts'); require('./models/Comments'); require('./models/Users'); require('./config/passport'); mongoose.connect('mongodb://localhost/news'); var index = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use(passport.initialize()); app.use('/', index); app.use('/users', users); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); module.exports = app;
您的HTML文件是一个静态文件,所以它将从您使用express.static
函数定义的静态文件夹中提供。
app.use(express.static(path.join(__dirname, 'public')));
将您的模板HTML放在公用文件夹中,以使其可以访问。
- file upload:创build目录,如果不存在
- assert(req.assert)如何在nodejs中工作
- 在量angular器testing中使用$ rootScope
- 如果元素由指令生成,则ng-click不起作用
- 使用Sendgrid / Nodemailer将Angular表单数据发布到Node.js
- 无法通过express / mongoose / angularjs从Mongodb访问数据
- 如何使用angular度file upload和nodejs发布文件内容到服务器?
- 如何从服务器(node.js)检索MongoDB数据到我的AngularJS路由
- 当我将数据保存到mongoDB时,如何获得_id值到我的代码中