Angular - 模块不可用
Angular - Module not available
我正在使用 mean.js 样板。我想在我的客户端中包含 angular-stripe。为此,我安装了 angular-stripe,它在 node_modules.
下可用
现在我想在我的代码中添加如下
(function () {
'use strict';
angular
.module('myApp', [
'angular-stripe'
])
.config(function (stripeProvider) {
stripeProvider.setPublishableKey('my_key')
})
PaymentController.$inject = ['$scope', '$state', 'Authentication', 'Socket', 'stripe'];
function PaymentController($scope, $state, Authentication, Socket, stripe) {
var vm = this;
}
());
它抛出以下错误
Module 'angular-stripe' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
问题是 angular-stripe 插件在声明 angular 模块时不包含在内。
使用来自 node_modules 的 js 模块时,请在模块声明中改用全局 require() 方法
angular.module('myApp', [
require('angular-stripe')
]);
另一个解决方案是以 "standard" 方式包含文件 <script src="...
。
关于 require 方法的好博客 post here
如果您使用的是 MeanJs 样板文件,则必须在 client - lib
和 client-css
中的 config/assets/default.js
添加依赖项(如果依赖项具有 .css
文件。
module.exports = {
client: {
lib: {
css: [
// bower:css
'public/lib/bootstrap/dist/css/bootstrap.css',
'public/lib/bootstrap/dist/css/bootstrap-theme.css',
'public/lib/angular-ui-notification/dist/angular-ui-notification.css'
// endbower
],
js: [
// bower:js
'node_modules/angular-stripe/src/index.js',
'public/lib/angular/angular.js',
'public/lib/angular-animate/angular-animate.js',
'public/lib/angular-bootstrap/ui-bootstrap-tpls.js',
'public/lib/ng-file-upload/ng-file-upload.js',
'public/lib/angular-messages/angular-messages.js',
'public/lib/angular-mocks/angular-mocks.js',
'public/lib/angular-resource/angular-resource.js',
'public/lib/angular-ui-notification/dist/angular-ui-notification.js',
'public/lib/angular-ui-router/release/angular-ui-router.js',
'public/lib/owasp-password-strength-test/owasp-password-strength-test.js',
// endbower
], // rest of the code..
MeanJs 强烈建议使用 bower
作为您的前端依赖项。
更多信息:MeanJS docs
我正在使用 mean.js 样板。我想在我的客户端中包含 angular-stripe。为此,我安装了 angular-stripe,它在 node_modules.
下可用现在我想在我的代码中添加如下
(function () {
'use strict';
angular
.module('myApp', [
'angular-stripe'
])
.config(function (stripeProvider) {
stripeProvider.setPublishableKey('my_key')
})
PaymentController.$inject = ['$scope', '$state', 'Authentication', 'Socket', 'stripe'];
function PaymentController($scope, $state, Authentication, Socket, stripe) {
var vm = this;
}
());
它抛出以下错误
Module 'angular-stripe' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
问题是 angular-stripe 插件在声明 angular 模块时不包含在内。
使用来自 node_modules 的 js 模块时,请在模块声明中改用全局 require() 方法
angular.module('myApp', [
require('angular-stripe')
]);
另一个解决方案是以 "standard" 方式包含文件 <script src="...
。
关于 require 方法的好博客 post here
如果您使用的是 MeanJs 样板文件,则必须在 client - lib
和 client-css
中的 config/assets/default.js
添加依赖项(如果依赖项具有 .css
文件。
module.exports = {
client: {
lib: {
css: [
// bower:css
'public/lib/bootstrap/dist/css/bootstrap.css',
'public/lib/bootstrap/dist/css/bootstrap-theme.css',
'public/lib/angular-ui-notification/dist/angular-ui-notification.css'
// endbower
],
js: [
// bower:js
'node_modules/angular-stripe/src/index.js',
'public/lib/angular/angular.js',
'public/lib/angular-animate/angular-animate.js',
'public/lib/angular-bootstrap/ui-bootstrap-tpls.js',
'public/lib/ng-file-upload/ng-file-upload.js',
'public/lib/angular-messages/angular-messages.js',
'public/lib/angular-mocks/angular-mocks.js',
'public/lib/angular-resource/angular-resource.js',
'public/lib/angular-ui-notification/dist/angular-ui-notification.js',
'public/lib/angular-ui-router/release/angular-ui-router.js',
'public/lib/owasp-password-strength-test/owasp-password-strength-test.js',
// endbower
], // rest of the code..
MeanJs 强烈建议使用 bower
作为您的前端依赖项。
更多信息:MeanJS docs