Javascript 使用EJS partials和angular的节点/快速项目:未捕获引用错误:未定义angular

Javascript 使用EJS partials和angular的节点/快速项目:未捕获引用错误:未定义angular,javascript,angularjs,node.js,mean-stack,Javascript,Angularjs,Node.js,Mean Stack,我觉得我完全错过了这里的一些东西,但我正在尝试在一个单页的angular应用程序中使用ejs partials。我不断得到一个未捕获的引用错误:角度在我的部分中没有定义。我认为这可能与使用ejs partials而不是使用ng include有关,但是我没有运气使用它。任何帮助都将是惊人的 app.js (function(){ var app = angular.module('dashboard', []); app.controller('ItemController', fun

我觉得我完全错过了这里的一些东西,但我正在尝试在一个单页的angular应用程序中使用ejs partials。我不断得到一个未捕获的引用错误:角度在我的部分中没有定义。我认为这可能与使用ejs partials而不是使用ng include有关,但是我没有运气使用它。任何帮助都将是惊人的

app.js

(function(){
  var app = angular.module('dashboard', []);

  app.controller('ItemController', function(){
    this.item = items;
  });

  //need to loop through items in DB for now using these test objects
  var items = [
    {
      name : 'name1',//query to db for name goes here
      stock : '4',//query to db
      img : '/images/bb-logo.png'//query to db
    },
    {
      name : 'name2',//query to db for name goes here
      stock : '6',//query to db
      img : '/images/bb-logo.png'//query to db
    }
  ];

})();
<!DOCTYPE html>
<html lang="en" ng-app="dashboard">
<head>
  <meta charset="UTF-8">
  <title><%= title %></title>
  <link rel="stylesheet" href='/libs/font-awesome/css/font-awesome.css'>
  <link rel="stylesheet" href='/libs/foundation/css/foundation.css'>
  <link rel="stylesheet" href='/stylesheets/style.css'>
  <!-- include angular here -->
  <script type="text/javascript" href='/libs/angular/angular.js'></script>
  <script type="text/javascript" href='/libs/modernizer/modernizer.js'></script>
  <script type="text/javascript" src="/angularApp.js"></script>

</head>

<body>
  <% include partials/topbar %>
  <div class="row">
    <div class="large-6 columns etsy-container">
      <% include partials/etsy-container %>
    </div>
    <div class="large-6 columns">
      <% include partials/amazon-container %>
    </div>
  </div>

</body>
</html>
<div ng-controller="ItemController as store" >
  <div ng-repeat="item in store.items">
    <img ng-src="{{item.img}}" />
    <p>{{item.name}} <i> Stock level: {{item.stock}}</i></p>
  </div>
</div>
index.ejs

(function(){
  var app = angular.module('dashboard', []);

  app.controller('ItemController', function(){
    this.item = items;
  });

  //need to loop through items in DB for now using these test objects
  var items = [
    {
      name : 'name1',//query to db for name goes here
      stock : '4',//query to db
      img : '/images/bb-logo.png'//query to db
    },
    {
      name : 'name2',//query to db for name goes here
      stock : '6',//query to db
      img : '/images/bb-logo.png'//query to db
    }
  ];

})();
<!DOCTYPE html>
<html lang="en" ng-app="dashboard">
<head>
  <meta charset="UTF-8">
  <title><%= title %></title>
  <link rel="stylesheet" href='/libs/font-awesome/css/font-awesome.css'>
  <link rel="stylesheet" href='/libs/foundation/css/foundation.css'>
  <link rel="stylesheet" href='/stylesheets/style.css'>
  <!-- include angular here -->
  <script type="text/javascript" href='/libs/angular/angular.js'></script>
  <script type="text/javascript" href='/libs/modernizer/modernizer.js'></script>
  <script type="text/javascript" src="/angularApp.js"></script>

</head>

<body>
  <% include partials/topbar %>
  <div class="row">
    <div class="large-6 columns etsy-container">
      <% include partials/etsy-container %>
    </div>
    <div class="large-6 columns">
      <% include partials/amazon-container %>
    </div>
  </div>

</body>
</html>
<div ng-controller="ItemController as store" >
  <div ng-repeat="item in store.items">
    <img ng-src="{{item.img}}" />
    <p>{{item.name}} <i> Stock level: {{item.stock}}</i></p>
  </div>
</div>

/amazong集装箱

<div class='store-container'>
  <h1 class="left">Amazon</h1>
  <span class="store-utility-icons"><i class="fa fa-refresh right"></i><i class="fa fa-times-circle-o right"></i></span>
  <div class="clear"></div>

  <% include /item %>
</div>

亚马逊
/item.ejs

(function(){
  var app = angular.module('dashboard', []);

  app.controller('ItemController', function(){
    this.item = items;
  });

  //need to loop through items in DB for now using these test objects
  var items = [
    {
      name : 'name1',//query to db for name goes here
      stock : '4',//query to db
      img : '/images/bb-logo.png'//query to db
    },
    {
      name : 'name2',//query to db for name goes here
      stock : '6',//query to db
      img : '/images/bb-logo.png'//query to db
    }
  ];

})();
<!DOCTYPE html>
<html lang="en" ng-app="dashboard">
<head>
  <meta charset="UTF-8">
  <title><%= title %></title>
  <link rel="stylesheet" href='/libs/font-awesome/css/font-awesome.css'>
  <link rel="stylesheet" href='/libs/foundation/css/foundation.css'>
  <link rel="stylesheet" href='/stylesheets/style.css'>
  <!-- include angular here -->
  <script type="text/javascript" href='/libs/angular/angular.js'></script>
  <script type="text/javascript" href='/libs/modernizer/modernizer.js'></script>
  <script type="text/javascript" src="/angularApp.js"></script>

</head>

<body>
  <% include partials/topbar %>
  <div class="row">
    <div class="large-6 columns etsy-container">
      <% include partials/etsy-container %>
    </div>
    <div class="large-6 columns">
      <% include partials/amazon-container %>
    </div>
  </div>

</body>
</html>
<div ng-controller="ItemController as store" >
  <div ng-repeat="item in store.items">
    <img ng-src="{{item.img}}" />
    <p>{{item.name}} <i> Stock level: {{item.stock}}</i></p>
  </div>
</div>

{{item.name}库存级别:{{item.Stock}


包含角度的方式是错误的。你有

<script type="text/javascript" href='/libs/angular/angular.js'></script>

但它应该是:

<script type="text/javascript" src="/libs/angular/angular.js"></script>

因此,您必须使用
src
而不是
href
。看起来像是典型的复制/粘贴错误。所以,最后,这与EJS或使用partials无关,只是错误的HTML;-)

PS:除此之外,HTML中的属性使用单引号。始终使用双引号,因为这是通常和常见的方法

PPS:这同样适用于您尝试加载Modernizer的线路