【发布时间】:2019-07-19 16:04:30
【问题描述】:
我的应用应该从 angularjs 迁移到 angular。
我正在创建新的角度组件。有没有一种优雅的方式来自动导入和降级组件?
当前代码:
import { ColorPickerComponent } from './angular-comp/color-picker/color-picker.component';
import {FileSelectComponent } from './angular-comp/file-select/file-select.component';
export default angular
.module('kn-components', myModuleNames)
.directive('colorPicker', downgradeComponent({component: ColorPickerComponent}))
.directive('fileSelect', downgradeComponent({component: FileSelectComponent}))
.name;
每次我创建一个我需要做的组件时,它都非常冗长......
例如,对于我的 angularjs 组件,我做了以下操作:
const myModuleNames = [];
const loadModules = require.context(".", true, /\.module.js$/);
loadModules.keys().forEach(function (key) {
if(loadModules(key).default)
myModuleNames.push(loadModules(key).default);
});
然后:
export default angular
.module('kn-components', myModuleNames)
我所有的模块/组件都被导入了
【问题讨论】:
-
您的意思是“降级”还是“升级”?大多数人会同意从 AngularJS 到 Angular 是一种“升级”。我不知道你往哪个方向走。
-
我的意思是降级
-
我的应用程序应该从 angularjs 迁移到 angular。 => 这是什么意思?降级?没有。
-
请参考:angular.io/guide/upgrade#upgrading-with-ngupgrade。如果您对我的问题有答案,可以发帖。
-
只是为了确保您知道,AngularJS 现在处于生命周期结束状态,直到 2021 年 6 月 30 日。那时没有更多的更新,也没有安全补丁。您是否因为额外的代码行(样板文件)而降级?还是有技术原因导致您不能继续使用 Angular? blog.angular.io/…。另外,如果你真的要降级,你降级的目标是TS还是JS?哪个ES版本?你还在考虑使用模块吗?