在 Angular 中使用 SystemJs 导入时找不到模块
Posted
技术标签:
【中文标题】在 Angular 中使用 SystemJs 导入时找不到模块【英文标题】:Cannot find module when importing with SystemJs in Angular 【发布时间】:2020-10-23 16:19:25 【问题描述】:我正在尝试在 Angular 中使用 SystemJs 导入外部模块
import System from 'systemjs';
declare const SystemJS: System;
...
SystemJs.import('./assets/example/example.js').then(m=>
console.log('the module is', m);
);
我也试过 http://localhost:4200/assets/example/example.js
js 文件在那里并且可以访问。
但我收到一个错误:
ERROR Error: Uncaught (in promise): Error: Cannot find module 'http://localhost:4200/assets/example/example.js'
我在一个干净的项目中尝试过,它工作正常,所以我认为问题可能与某些特定角度的配置有关。
有什么可能是错误的线索吗?
【问题讨论】:
这有帮助吗? ***.com/questions/35898339/… 如果您在构建后在该文件夹中导航,此文件是否放置在您指定的路径中? @Ostn,不,不是,但谢谢 @Sergey,是的,是的,我可以导航到资产或 uri,我可以找到它。 【参考方案1】:你配置过 SystemJS 吗?
像这样:
System.config(
baseURL: './src/app',
// Set paths your modules
paths:
'example': 'assets/example/example.js'
);
SystemJs.import('example').then(m=>
console.log('the module is', m);
);
【讨论】:
以上是关于在 Angular 中使用 SystemJs 导入时找不到模块的主要内容,如果未能解决你的问题,请参考以下文章
在生产中使用 systemjs-angular-loader.js - 给出 404
如何使用 systemjs 在最小的 Angular 2 应用程序中加载 RxJS?
使用 SystemJS 的混合 AngularJS/Angular 应用程序中的 Lodash。我可以单独分配'_'吗?
typescript 对于博客 - 使用systemjs将Phoenix javascript客户端包含在Angular 2应用程序中