如何在Angular 4.x(Angular Cli)App中导入RequireJS(AMD)模块?
发布时间:2020-12-17 17:59:16 所属栏目:安全 来源:网络整理
导读:我有一个遗留的JS文件,用以下RequireJS(AMD)模块表示法编写: define('mymodule',[],function(){ // ... bla bla bla return { calculate: function() { return 1 + 1; } };}); 我正在从使用RequireJS的另一个(遗留)项目导入此文件,因此 – 我无法更改使用的
我有一个遗留的JS文件,用以下RequireJS(AMD)模块表示法编写:
define('mymodule',[],function(){ // ... bla bla bla return { calculate: function() { return 1 + 1; } }; }); 我正在从使用RequireJS的另一个(遗留)项目导入此文件,因此 – 我无法更改使用的模块定义. 我想在用TypeScript编写的Angular Cli(Angular 4.x)应用程序中导入它. 由于Angular Cli使用Webpack 2来构建支持AMD的项目,我想我可以像这样导入它: import * as MyModule from './mymodule.js'; …但是这不起作用,它会触发mymodule.js不是模块的错误. 任何想法(或解决方法)如何导入此旧模块? 解决方法
我能够加载amd模块.
这是TS: import * as MyModule from './mymodule.js'; console.log('my value is',MyModule.value); mymodule.js文件: define(["require","exports"],function(require,exports){ exports.value = "aaa"; }); 并在tsconfig.js "allowJs": true 更新: 您可以使用webpack提供的System.import. declare var System: any; System.import('./mymodule.js') .then(MyModule=>console.log(MyModule.value)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |