2
当我运行本地主机:服务器响应:3000服务器,我得到在控制台这些错误:无法加载Java脚本文件和bower_components /角/ angular.js
http://localhost:3000/bower_components/angular/angular.js无法加载资源与404状态(未找到)
http://localhost:3000/controller.js无法加载资源:服务器与404状态(未找到)
这是工作回答,如果我把angular.js脚本在索引中。而不是把它分开放在controller.js中,我不知道为什么当我使用脚本t时出现错误AGS。
目录图是这样的
-files
-bower_components
-angular
-index.html
-controller.js
-server.js
这是index.html文件
<!DOCTYPE html>
<html ng-app="App">
<head>
<style>
#list
{ margin-left:320px;
font-size: 40px;
font-family:verdana;
}
button
{ color:yellow;background-color:red;text-align:center;cursor:pointer;
-webkit-transition-duration: 0.4s;
transition-duration: 0.4s;
font-size:40px;
padding: 14px 32px;
}
button:hover
{ background-color:peachpuff;
color:tomato;
}
</style>
</head>
<body style="background-color:cyan;">
<div ng-controller="Ctrl">
<h1 style="text-align:center;font-family:verdana;">To-Do LiSt</h1>
<div style="margin-left:300px">
<input type="text" ng-model="task.name" style="background-color:black;color:white;font-size:40px;width:40%">
<button ng-click="addtask()">Add</button>
<button ng-click="updatetask()">Update</button> <button ng-click="clearfield()">Clear</button>
</div>
<ul>
<li id="list" ng-repeat="task in todolist">
{{task.name}}
<button ng-click="deletetask(task._id)">Delete</button> <button ng-click="edittask(task._id)">Edit</button>
</li>
</ul>
</div>
</body>
<script type="text/javascript" src="bower_components/angular/angular.js"></script>
<script type="text/javascript" src="controller.js"></script>
</html>
这是server.js文件
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
app.use(bodyParser.json());
mongoose.connect("mongodb://localhost/test");
var TodoSchema = new mongoose.Schema ({
name : {type: String, required: true}
});
var TodoModel = mongoose.model('todolist',TodoSchema);
app.get('/',function(req,res){
res.sendFile("/index.html",{root:__dirname});
});
app.get('/todolist', function (req, res){
TodoModel.find(function(err,tasks){
res.json(tasks);
});
});
app.post('/todolist', function (req, res) {
TodoModel.create({name:req.body.name},function(err,task){
res.send('created');
});
});
app.delete('/todolist/:id', function (req, res) {
TodoModel.remove({_id:req.params.id}, function (err) {
res.send('');
});
});
app.get('/todolist/:id', function (req, res) {
TodoModel.findById(req.params.id, function (err, task){
res.json(task);
});
});
app.put('/todolist/:id', function (req, res) {
TodoModel.findByIdAndUpdate(req.params.id,
{name: req.body.name},
function (err, task) {
res.json(task);
}
);
});
app.listen(3000);
console.log("Server running on port 3000");
谢谢你....你能解释为什么我们需要这样做吗? ,我们正在从index.html提供路径,那么为什么我们在server.js中使用express.static – Robin
接受答案,如果它可以帮助你好友..在节点js我们创建我们自己的服务器,所以它不能够在站立的相对路径,所以我们必须明确指定当前目录作为根目录,并基于该服务器解决相对路径.. –
感谢队友....你可以建议网站,我可以加强我的基础nodejs? – Robin