【问题标题】:angularjs is not loading when using express使用express时没有加载angularjs
【发布时间】:2018-10-16 00:34:40
【问题描述】:

当我在浏览器中打开 index.html 文件时它工作正常,但是当我在本地服务器上以 express 方式运行它时它不起作用。

server.js

const express = require('express');

const app = express();

app.get('/', (req, res) => {
    res.sendFile(__dirname + '/index.html');
});

app.listen(3000, () => {
    console.log('App is running on port 3000');
});

app.js

var myApp = angular.module('myApp', []);

myApp.controller('mainController', ['$scope', '$filter', '$http', function($scope, $filter, $http) {
    $scope.handle = '';
    enter code here

}]);

index.html

<html ng-app="myApp">
<head>
    <title>Angularjs</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

</head>
<body>
    <div ng-controller="mainController">
        <div>
            <input type="text" ng-model="handle">
        </div>
        <br/>
        <h1>Hello {{ handle }}</h1>
    </div>
    <script src="app.js"></script>
</body>

【问题讨论】:

  • 你检查过this的答案吗?

标签: html angularjs node.js express


【解决方案1】:

您需要另一条路由来从服务器提供控制器文件 (app.js)。

类似

app.get('/app.js', (req, res) => {
res.sendFile(__dirname + '/app.js');
});

您的代码有什么问题是,当您从服务器切断 index.html 文件并在浏览器中呈现它时,浏览器现在发送请求以加载 app.js 文件(这是您的控制器)并且您不响应该请求。这就是您的应用无法运行的原因。

附言。如果您打开网络选项卡并检查 404 响应代码。你会看到 app.js 文件。

【讨论】:

  • 我没有检查为 app.js 文件提供 404 响应代码的网络选项卡。
猜你喜欢
  • 2016-03-11
  • 2017-08-22
  • 2013-09-13
  • 1970-01-01
  • 2022-01-06
  • 2017-10-17
  • 2014-11-27
  • 2021-07-12
  • 2018-04-13
相关资源
最近更新 更多