Angularjs 仅包括我需要的角材料模块

Angularjs 仅包括我需要的角材料模块,angularjs,gulp,bower,angular-material,Angularjs,Gulp,Bower,Angular Material,我使用的是来自Angular Material的模块$mdDialog,但我不需要完整的库。是否可以只在项目中包含我需要的模块,以及如何做到这一点?我已经在我的项目中安装了带有Bower和Gulp的Angular Material。根据我上面的评论,$mdDialog依赖于Angular-Material.js,它依赖于Angular.js、Angular-aria.js和Angular-animate.js。我认为没有办法解决这个问题 虽然您使用的是棱角材料,但我想推荐一种替代品-,它与棱角材

我使用的是来自Angular Material的模块$mdDialog,但我不需要完整的库。是否可以只在项目中包含我需要的模块,以及如何做到这一点?我已经在我的项目中安装了带有Bower和Gulp的Angular Material。

根据我上面的评论,
$mdDialog
依赖于Angular-Material.js,它依赖于Angular.js、Angular-aria.js和Angular-animate.js。我认为没有办法解决这个问题

虽然您使用的是棱角材料,但我想推荐一种替代品-,它与棱角材料的风格相似且一致。此建议与您不希望加载大量依赖项有关

使用聚合物的优点是可以包含单独的元素,例如-


不久,Angular Material将作为一个主要版本转变为
v1.1.0

此外,还将公布
材料工具
存储库

材质工具允许开发人员使用最必要的组件构建自定义角度材质构建

它还可以构建预编译的主题样式表,从而显著提高性能

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


您只需选择所需的组件,方法是按如下方式创建自定义angularjs构建

  • 下载或克隆回购协议
  • 转到存储库文件夹并执行“npm安装”或“npm更新”
用于自定义js构建

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

  • 运行“gulpbuild”并在“\dist”文件夹中找到js文件
我在webpack中使用angularjs,我将“AngularMaterial.js”复制到我的应用程序中的“\node\u modules\AngularMaterial”,并且我能够在不做任何更改的情况下进行构建

用于构建自定义css

在存储库的“\gulp\tasks”文件夹中编辑“build scss.js”。编辑getPaths()函数

  • “gulp build”还将在“\dist”文件夹中生成css
我希望这有帮助,请评论的情况下角材料吞咽建设是改变

其他方式


当您使用npm安装angularjs时,您可以在“\node\u modules\angular material\modules\js”中找到每个组件的js和css文件,您可以使用您的自定义构建将其包含在内。

我认为这是不可能的。所以没有办法解决这个问题?我的项目是非常缓慢的,当我使用角材料的完整安装时,我只需要对话框模块。
    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');
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');