Joe*_*ore 17 javascript es6-module-loader angular
我es6-module-loader在一个Angular 2项目中使用它,它非常适合TypeScript在Web浏览器中实时加载模块.现在,我正在将此项目升级到Angular 6,但是这里imports的加载模块的依赖关系不符合.例如:
declare var SystemLoader:any;
export class DemoClass {
constructor() {
var source = "export class Foo { " +
"constructor() { console.log('Created the ES6 class foo!'); } " +
"execMethod() { console.log('Executed method!') }" +
"}";
SystemLoader.module(source, {name: _name}).then(function (module: any) {
module.Foo.prototype.execMethod();
}
}
}
Run Code Online (Sandbox Code Playgroud)
以前的代码适用于Angular 6.它将加载模块Foo并在中打印这些行Console.但是如果我让模块有点复杂并添加import如下:
declare var SystemLoader:any;
export class DemoClass {
constructor() {
var source = "import {Component} from \"@angular/core\"; " +
"export class Foo { " +
"constructor() { console.log('Created the ES6 class foo!'); } " +
"execMethod() { console.log('Executed method!') }" +
"}";
SystemLoader.module(source, {name: _name}).then(function (module: any) {
module.Foo.prototype.execMethod();
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后它将无法正常工作并抱怨error 404 loading @angular/core.所以,在Angular 2这里没有问题,因为node_modules项目所需的所有内容都按Angular原样加载,但Angular 6似乎所有这些依赖项都是由Webpack一个大的胖JavaScript文件中的所有内容组成.那么,我怎样才能绕过这种Webpack简化,以便动态模块可以加载?
编辑:
或者至少要从es6-module-loader(不推荐)迁移到es-module-loader使用上面公开的相同过程的示例(加载源代码,编译[transpile]并在客户端的机器中渲染).
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |