gpt4 book ai didi

angularjs - 在 meanjs 中注入(inject)自定义模块的最佳实践

转载 作者:行者123 更新时间:2023-12-01 05:07:16 25 4
gpt4 key购买 nike

据我了解,没有经典的模块注册,我们可以在其中注入(inject)我们的依赖项,例如:

var myModule = angular.module('myModule', [otherModule]);

但是有文件 module-name.client.module.js在目录的根目录
'use strict';
// Use Applicaion configuration module to register a new module
ApplicationConfiguration.registerModule('module-name');

我可以在这里注入(inject)我的模块吗,例如 *.registerModule('module-name', [someModule]);或者我应该在 angular.module('articles').config(...) ?

但是在 config我只能注入(inject) providers , 没有 factories

最佳答案

就我使用 Angular 而言,加载自定义模块和外部库的最佳实践
就是把angularjs和requirejs结合起来。

它分 3 步完成。

首先,在您的主 html 文件中加载一个构建系统基础的 js 文件(require.config):
这里有所有允许的参数:https://github.com/jrburke/r.js/blob/master/build/example.build.js

例子 :
在您的 html 文件中:

<script src="path/to/require.js" data-main="path/to/yourBuildFile"></script>

在您的BuildFile 文件中:
require.config({
// you can define suitable names for all your external js library
paths:{
// don't put a ".js" at the end of the file
'angular' : 'path/angular',
'underscore' : 'path/underscore-min',
'...': '...',
},
// and other useful things
});

其次,在同一个文件或另一个文件中(请参阅上面链接中的参数 deps),引导您的应用程序:
就像这里解释的那样: https://docs.angularjs.org/guide/bootstrap

例子:
// AMD module injection, more info here : http://requirejs.org/docs/whyamd.html
define([ // inject all the external library you need + the definition of your app
'angular',
'require',
'yourpath/yourApp' // don't bother here, it's explained in third point
], function(angular){
// link your app to the document file programatically
angular.bootstrap(document, ['nameOfYourApp']);
});

第三,您定义您的应用程序(在“yourpath/yourApp”中)

例子:
define([
'angular',
// put all path to your directives + controllers + services
], function(angular){ // only specify parameters the library you use in the function
// you create your sublime app :)
angular.module('nameOfYourApp', [
// put all the name of your modules injected above
]);
});

上面的示例是为单页应用程序制作的。
您可以在此处找到多页应用程序的其他示例
http://requirejs.org/docs/start.html

关于angularjs - 在 meanjs 中注入(inject)自定义模块的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27590486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com