在 ember.js 中延迟导入外部 js 文件
Lazy import of external js file in ember.js
我正在尝试在我的应用程序路径之一中导入外部 js 文件。
@(task(function* () {
yield import('jquery/dist/jquery').then(module => module.default);
yield import('jquery-ui/ui/widget.js').then(module => module.default);
yield import('jquery-ui/ui/widgets/mouse.js').then(module => module.default);
yield import('jquery-ui/ui/data.js').then(module => module.default);
yield import('jquery-ui/ui/ie.js').then(module => module.default);
yield import('jquery-ui/ui/scroll-parent.js').then(module => module.default);
yield import('jquery-ui/ui/version.js').then(module => module.default);
yield import('jquery-ui/ui/widgets/sortable.js').then(module => module.default);
yield import('jquery-ui/ui/position.js').then(module => module.default);
yield import('pivottable/dist/pivot.js').then(module => module.default);
})) pivotTableRunner;
afterModel(){
this.get('pivotTableRunner').perform();
}
目前我一直在我的 pivotTableRunner 中导入那个库,但结果是,我不得不对从 node_modules 导入的那个库进行一些修改。我将它的内容复制到另一个文件,并将其放在 vendor 文件夹中。有没有办法在 pivotTableRunner 任务之后延迟导入它?
看起来 the suggested path 因为这将创建一个本地 NPM 模块,然后将其告知。这将允许你做
async afterModel(){
await this.get('pivotTableRunner').perform();
await import('LOCAL_PACKAGE');
}
创建本地模块的一些很好的说明在 this answer
中
我正在尝试在我的应用程序路径之一中导入外部 js 文件。
@(task(function* () {
yield import('jquery/dist/jquery').then(module => module.default);
yield import('jquery-ui/ui/widget.js').then(module => module.default);
yield import('jquery-ui/ui/widgets/mouse.js').then(module => module.default);
yield import('jquery-ui/ui/data.js').then(module => module.default);
yield import('jquery-ui/ui/ie.js').then(module => module.default);
yield import('jquery-ui/ui/scroll-parent.js').then(module => module.default);
yield import('jquery-ui/ui/version.js').then(module => module.default);
yield import('jquery-ui/ui/widgets/sortable.js').then(module => module.default);
yield import('jquery-ui/ui/position.js').then(module => module.default);
yield import('pivottable/dist/pivot.js').then(module => module.default);
})) pivotTableRunner;
afterModel(){
this.get('pivotTableRunner').perform();
}
目前我一直在我的 pivotTableRunner 中导入那个库,但结果是,我不得不对从 node_modules 导入的那个库进行一些修改。我将它的内容复制到另一个文件,并将其放在 vendor 文件夹中。有没有办法在 pivotTableRunner 任务之后延迟导入它?
看起来 the suggested path 因为这将创建一个本地 NPM 模块,然后将其告知。这将允许你做
async afterModel(){
await this.get('pivotTableRunner').perform();
await import('LOCAL_PACKAGE');
}
创建本地模块的一些很好的说明在 this answer
中