Angular - Angular.js无法识别

时间:2016-10-18 00:38:38

标签: javascript angularjs npm

我是Angular的新手,并试图做一个简单的Hello World。请在下面找到我的源文件:

<html >
  <head>
    <script src="./node_modules/angular/angular.js"></script>

    <title>ngClassifieds</title>
  </head>
  <body ng-app="ngClassifieds">
    <div>
      <label>Name:</label>
      <input type="text" ng-init="yourName = 'oie'" placeholder="Enter a name here">
      <hr>
      <h1>Hello {{yourName}}!</h1>
    </div>
  </body>
</html>

.. \ ngClassifieds \脚本\ app.js

angular.module("ngClassifieds",[]);

目前的文件结构(使用npm创建)

└───ngClassifieds
    │   index.html
    │   package.json
    │
    ├───css
    ├───node_modules
    │   ├───angular
    │   │       angular-csp.css
    │   │       angular.js
    │   │       angular.min.js
    │   │       angular.min.js.gzip
    │   │       angular.min.js.map
    │   │       bower.json
    │   │       index.js
    │   │       LICENSE.md
    │   │       package.json
    │   │       README.md

我目前面临两个问题:

  1. 如果我将ng-app设置为ng-app =&#34; ngClassifieds&#34;在index.html文件中,Angular停止工作(参见下面的输出)
  2. 如果我使用\ ngClassifieds \ node_modules \ angular \ angular.js文件而不是https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js,它将停止工作(请参阅下面的输出)
  3. 错误: enter image description here

    然而,如果我删除ng-app参数并使用https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js,它会按预期工作:

    enter image description here

    这是有效的 index.html

    <html >
      <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
    
        <title>ngClassifieds</title>
      </head>
      <body ng-app>
        <div>
          <label>Name:</label>
          <input type="text" ng-init="yourName = 'oie'" placeholder="Enter a name here">
          <hr>
          <h1>Hello {{yourName}}!</h1>
        </div>
      </body>
    </html>
    

1 个答案:

答案 0 :(得分:0)

在您定义模块时,您实际上并未将其包含在文件中,这就是它出错的原因。由于它没有包含它试图寻找的模块(ngClassifieds)不存在。只需在角度后将您的app.js文件包含在标题中,它就会运行:

<html>
  <head>
    <script src="./node_modules/angular/angular.js"></script>
    <script src="/ngClassifieds/scripts/app.js"></script> <!-- Include it here-->
    <title>ngClassifieds</title>
  </head>
  <body ng-app="ngClassifieds">
    <div>
      <label>Name:</label>
      <input type="text" ng-init="yourName = 'oie'" placeholder="Enter a name here">
      <hr>
      <h1>Hello {{yourName}}!</h1>
    </div>
  </body>
</html>

<强> EDITED

正如所指出的,app.js文件的路径是错误的。修好之后,它就可以了。