Angular 翻译:LocalStorage 插件和 requirejs 错误
Angular Translate: LocalStorage plugin and requirejs error
我正在结合使用 Angular 和 require.js。除此之外,我还使用 angular-translate
插件。现在我添加了插件 angular-translate-storage-local
并且出现了这个错误:Error: [$injector:unpr] Unknown provider: $translateCookieStorageProvider <- $translateCookieStorage <- $translateLocalStorage <- $translate
通常我会说我忘记添加依赖项,但我没有(我猜)!
我的requirejs.config
:
requirejs.config({
shim: {
angular: {
exports: 'angular'
},
ngTranslateLoader: ['ngTranslate'],
ngTranslateLocalStorage: ['ngTranslate']
},
paths: {
ngTranslate: '../../vendor/angular-translate/angular-translate',
ngTranslateLoader: '../../vendor/angular-translate-loader-static-files/angular-translate-loader-static-files',
ngTranslateLocalStorage: '../../vendor/angular-translate-storage-local/angular-translate-storage-local'
}
});
我的module
:
define(function(require) {
require('ngTranslate');
require('ngTranslateLocalStorage');
require('ngTranslateLoader');
var angular = require('angular');
var app = angular.module('app', [
'pascalprecht.translate'
])
.config([$translateProvider', function ($translateProvider) {
$translateProvider
.useStaticFilesLoader({
prefix: '/language/',
suffix: '.json'
})
.preferredLanguage('en-DK')
.useSanitizeValueStrategy('escape')
.useLocalStorage();
}]);
});
静态文件加载器插件运行良好。我的失败在哪里?
编辑:
我在 requirejs
配置中添加了以下内容:
ngTranslateLocalStorage: ['ngTranslateCookieStorage', 'ngTranslate'],
ngTranslateCookieStorage: ['ngCookies', 'ngTranslate'],
ngCookies: ['angular'],
现在我得到:Error: [$injector:unpr] Unknown provider: $cookieStoreProvider <- $cookieStore <- $translateCookieStorage <- $translateLocalStorage <- $translate
如果我理解 requirejs shim 正确,现在 require(ngTranslateLocalStorage)
就足够了,但随后我收到 pascalprecht.translate
未知的消息。如果我需要所有部门,尽管它已经在 shim 中完成,但我会收到上面的错误。还是有问题!?
服务 $translateLocalStorage
依赖于 $translateCookieStorage
,后者又依赖于 $cookieStore
来自 angular-cookies
。
因此,您还需要包含 angular-translate-storage-cookie
、angular-cookies
,并在模块依赖项中添加 ngCookies
。
总而言之,您应该:
"angular-translate"
"angular-translate-loader-static-files"
"angular-cookies"
"angular-translate-storage-cookie"
"angular-translate-storage-local"
我正在结合使用 Angular 和 require.js。除此之外,我还使用 angular-translate
插件。现在我添加了插件 angular-translate-storage-local
并且出现了这个错误:Error: [$injector:unpr] Unknown provider: $translateCookieStorageProvider <- $translateCookieStorage <- $translateLocalStorage <- $translate
通常我会说我忘记添加依赖项,但我没有(我猜)!
我的requirejs.config
:
requirejs.config({
shim: {
angular: {
exports: 'angular'
},
ngTranslateLoader: ['ngTranslate'],
ngTranslateLocalStorage: ['ngTranslate']
},
paths: {
ngTranslate: '../../vendor/angular-translate/angular-translate',
ngTranslateLoader: '../../vendor/angular-translate-loader-static-files/angular-translate-loader-static-files',
ngTranslateLocalStorage: '../../vendor/angular-translate-storage-local/angular-translate-storage-local'
}
});
我的module
:
define(function(require) {
require('ngTranslate');
require('ngTranslateLocalStorage');
require('ngTranslateLoader');
var angular = require('angular');
var app = angular.module('app', [
'pascalprecht.translate'
])
.config([$translateProvider', function ($translateProvider) {
$translateProvider
.useStaticFilesLoader({
prefix: '/language/',
suffix: '.json'
})
.preferredLanguage('en-DK')
.useSanitizeValueStrategy('escape')
.useLocalStorage();
}]);
});
静态文件加载器插件运行良好。我的失败在哪里?
编辑:
我在 requirejs
配置中添加了以下内容:
ngTranslateLocalStorage: ['ngTranslateCookieStorage', 'ngTranslate'],
ngTranslateCookieStorage: ['ngCookies', 'ngTranslate'],
ngCookies: ['angular'],
现在我得到:Error: [$injector:unpr] Unknown provider: $cookieStoreProvider <- $cookieStore <- $translateCookieStorage <- $translateLocalStorage <- $translate
如果我理解 requirejs shim 正确,现在 require(ngTranslateLocalStorage)
就足够了,但随后我收到 pascalprecht.translate
未知的消息。如果我需要所有部门,尽管它已经在 shim 中完成,但我会收到上面的错误。还是有问题!?
服务 $translateLocalStorage
依赖于 $translateCookieStorage
,后者又依赖于 $cookieStore
来自 angular-cookies
。
因此,您还需要包含 angular-translate-storage-cookie
、angular-cookies
,并在模块依赖项中添加 ngCookies
。
总而言之,您应该:
"angular-translate"
"angular-translate-loader-static-files"
"angular-cookies"
"angular-translate-storage-cookie"
"angular-translate-storage-local"