簡體   English   中英

AngularJs + RequireJs過濾器未知提供程序

[英]AngularJs + RequireJs filter Unknown provider

我對如何正確注入過濾器有問題,問題只出現在生產環境中,在我的本地主機上都正確,我以為過濾器在角度之前加載,但是我已經設置了斷點,並看到所有這種方式都是正確的(或者我錯過了一些東西)看起來像部門問題。 注射,但我找不到正確的方法。

這是我的文件,請幫忙,我對這個問題不屑一顧。

boot.js

window.name = 'NG_DEFER_BOOTSTRAP!';
require.config({
  'baseUrl': '/static/angular/',
  'paths': {
    /* .... */ 
  },
  'shim': {
    /* .... */ 
  }
});
require([
  'angular',
  'app'
], function (angular, app) {
  'use strict';
  angular.element(document.getElementsByTagName('html')[0]);
  angular.element().ready(function () {
    angular.resumeBootstrap([app.name]);
  });
});

app.js

define([
  'angular',
  'filters/filters',
  'controllers'
], function (angular) {
  /* .... */
  return app;
});

controllers.js

define( function (require) {
  'use strict';
  var angular = require('angular'),
      Controllers = angular.module('controllers', []);
  Controllers.controller('mainController', require('controllers/main.controller'));
  /* .... */
  return Controllers;
});

filter / filters.js

require([
  'app'
], function (app) {
  'use strict';
  app.filter('yesNo', function() {
    /* .... */
  });
  return app;
});

我找到了一種方法,現在創建過濾器模塊,而不是通過傳遞應用程序依賴關系,而是發送角度對象並注入新模塊:

filter / filters.js

require([
  'angular'
], function (angular) {
  'use strict';
  angular.module('filters', []).filter('yesNo', function() {
    /* .... */
  });
});

app.js

define([
  'angular',
  'filters/filters',
], function (angular) {
  'use strict';
  var app = angular.module('appName', [
    'filters',
  ]);
  /* .... */
  return app;
});

現在可以正常使用了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM