Angularjs 仅包括我需要的角材料模块
我使用的是来自Angular Material的模块$mdDialog,但我不需要完整的库。是否可以只在项目中包含我需要的模块,以及如何做到这一点?我已经在我的项目中安装了带有Bower和Gulp的Angular Material。根据我上面的评论,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。我认为没有办法解决这个问题 虽然您使用的是棱角材料,但我想推荐一种替代品-,它与棱角材
$mdDialog
依赖于Angular-Material.js,它依赖于Angular.js、Angular-aria.js和Angular-animate.js。我认为没有办法解决这个问题
虽然您使用的是棱角材料,但我想推荐一种替代品-,它与棱角材料的风格相似且一致。此建议与您不希望加载大量依赖项有关
使用聚合物的优点是可以包含单独的元素,例如-
从
不久,Angular Material将作为一个主要版本转变为
v1.1.0
此外,还将公布材料工具
存储库
材质工具允许开发人员使用最必要的组件构建自定义角度材质构建
它还可以构建预编译的主题样式表,从而显著提高性能
材质工具已经可用,但仍处于测试阶段
您只需选择所需的组件,方法是按如下方式创建自定义angularjs构建
- 下载或克隆回购协议
- 转到存储库文件夹并执行“npm安装”或“npm更新”
- 运行“gulpbuild”并在“\dist”文件夹中找到js文件
- “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');