Javascript express 4.x路由器和角度传感器存在问题?
我正在用angular.js测试Express4.x,我遇到了一些问题,有人遇到了这样的错误 控制台铬:Javascript express 4.x路由器和角度传感器存在问题?,javascript,node.js,angularjs,express,Javascript,Node.js,Angularjs,Express,我正在用angular.js测试Express4.x,我遇到了一些问题,有人遇到了这样的错误 控制台铬: Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:8080/javascript/main.js". localhost/:5 Uncaught SyntaxError: Unexpected token < main.js:1 Uncaught Erro
Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:8080/javascript/main.js". localhost/:5
Uncaught SyntaxError: Unexpected token < main.js:1
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.17/$injector/modulerr?p0=appTmo&p1=Error%3A…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.17%2Fangular.min.js%3A18%3A203)
index.html:
<html ng-app='app'>
<head>
<title>App</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js"></script>
<script type="text/javascript" src="javascript/main.js"></script>
</head>
<body >
<h1>test</h1>
</body>
</html>
移动app.use(路由器)app.use(express.static(uu dirname+'/public'))下面的code>代码>。因此,您的server.js应该是:
var express = require('express');
var app = express();
var router = express.Router();
var morgan = require('morgan');
app.use(morgan('dev'));
app.use(express.static(__dirname+'/public'));
app.use(router);
router.get('*',function (req,res) {
res.sendfile('public/index.html');
});
app.listen(8080);
当您在静态调用之前调用app.use(router)
时,路由器会在收到请求时首先被调用。*
匹配所有请求,因此它将处理所有传入请求。您看到的问题是,请求main.js
时会返回index.html
,单击错误中的链接可以找到错误的原因)附加main.js
并使用非精简版本的Angular。很可能你的标签上缺少ng-app
。ng-app在html标签内感谢各位的回答当然,对不起,我没有注意到。
var app = angular.module('app',[]);
var express = require('express');
var app = express();
var router = express.Router();
var morgan = require('morgan');
app.use(morgan('dev'));
app.use(express.static(__dirname+'/public'));
app.use(router);
router.get('*',function (req,res) {
res.sendfile('public/index.html');
});
app.listen(8080);