2016-08-05 75 views
4

我使用Angular Material的模块$ mdDialog,但我不需要完整的库。是否可能只包含我在项目中需要的模块,以及我该怎么做?我已经在Bower项目中安装了Angular Material,并使用了Gulp。只包含我需要的角度材质的模块

+0

我不认为这是可能的。 –

+0

那么有没有办法解决这个问题?当我只需要对话框模块时,我正在使用Angular Material的完整安装时,我的项目非常慢。 – user1149117

回答

1

根据我上面的评论,$mdDialog依赖于angular-material.js,它依赖于angular.js,angular-aria.js和angular-animate.js。我认为没有任何办法。

虽然您使用的是角材,但我想建议一个替代方案 - Polymer,它与角材的风格相似,风格一致。这个建议与你不想加载大量的依赖关系有关。

使用聚合物的好处是,你可以包括独立的元素,例如paper-dialog - demo

docs

enter image description here

3

不久角材料将变成v1.1.0为主要版本。

作为另外的material-tools存储库将公布

Material Tools允许开发人员使用最必要的组件构建自定义Angular Material构建。

它还可以建立预编译的主题风格,这显著提高性能。

材料工具已经可用,但仍处于测试阶段。

https://github.com/angular/material-tools

0

您只选择要安装的组件,通过使定制angularjs从angular material git repository建立如下

  • 下载或克隆angular material回购。
  • 去存储库文件夹,并执行“故宫安装”或“故宫更新”

对于自定义JS打造

在“\吞掉”文件夹编辑util.js中,更新buildJs ()函数

function buildJs() { 
    // original code commented 
    //var jsFiles = config.jsBaseFiles.concat([path.join(config.paths, '*.js')]); 

     var jsFiles = config.jsBaseFiles; 

     //adding the paths of components you want 
     jsFiles.push('src/components/icon/**/*.js'); 
     jsFiles.push('src/components/showHide/**/*.js'); 
     jsFiles.push('src/components/virtualRepeat/**/*.js'); 
     jsFiles.push('src/components/dialog/**/*.js'); 
  • 运行 “一饮而尽建”,并找到在JS “\ DIST” 文件夹

我使用与的WebPack angularjs,我复制了“角material.js”到“\ node_modules \角材料”在我的应用程序,我是能够使构建无任何变化。

存储库中的 “\一饮而尽\任务” 文件夹中创建自定义的CSS

编辑 “集结scss.js”。编辑的getPaths()函数

function getPaths() { 
    var paths = config.scssBaseFiles.slice(); 
    if (modules) { 
     paths.push.apply(paths, modules.split(',').map(function (module) { 
     return 'src/components/' + module + '/*.scss'; 
     })); 
    } else { 
    // original code commented 
    // paths.push('src/components/**/*.scss'); 
     paths.push('src/core/services/layout/**/*.scss'); 

     //add the paths of components you want  
     paths.push('src/components/icon/**/*.scss'); 
     paths.push('src/components/showHide/**/*.scss'); 
     paths.push('src/components/virtualRepeat/**/*.scss'); 
     paths.push('src/components/datepicker/**/*.scss'); 
     paths.push('src/components/autocomplete/**/*.scss'); 
     paths.push('src/components/backdrop/**/*.scss'); 
     paths.push('src/components/dialog/**/*.scss'); 
  • “一饮而尽构建”还将建立CSS中的“\ DIST”文件夹

我希望它能帮助,请在情况下角料一饮而尽构建注释改变。

其他方式

当您安装使用NPM angularjs,你可以找到在“\ node_modules \角材料\模块\ JS”每个组件的JS和CSS文件,您可以使用您的自定义生成到concatinate他们。