我正在尝试在 Angular 6 应用程序中使用@ionic/core
包中的组件(它不是 CLI 应用程序,我无法使用@ionic/angular
(。
如果不直接从 cdn 导入,我就无法让组件工作,即
<link href="https://unpkg.com/@ionic/core@4.0.0-beta.13/css/ionic.bundle.css" rel="stylesheet">
<script src="https://unpkg.com/@ionic/core@4.0.0-beta.13/dist/ionic.js"></script>
我已将@ionic/core
添加为 npm 依赖项,并尝试以各种方式导入它,但无法渲染组件。
这是一个Stackblitz编辑器:https://stackblitz.com/edit/angular-34cilj
正确导入后,app.component.html
中的ion-list
应该按照文档工作。app.module.ts
中有一些注释的导入尝试
感谢您的照明,这正是我想要的。这是我为使其工作所做的:
-
解决方案 1:因为它通过在 Stackblitz 项目的索引.html文件中导入这些库对我有用(我将文件保存在 Stackblitz 中以便您可以检查(,所以我在我的角度 src/index.html 文件中做了同样的事情,并且也工作了。问题是我不想让项目具有外部 CDN 依赖项,所以我创建了第二个解决方案。
-
解决方案 2:在本地使用它:
-
安装离子芯:
npm install @ionic/core --save
-
将这些行添加到 vendor.ts 文件中(为了清洁起见,我从 main.ts 导入了此文件,但如果这些行直接在 main.ts 中导入,它也是有效的(:
import "../node_modules/@ionic/core/css/ionic.bundle.css"; import "../node_modules/@ionic/core/dist/ionic.js";
或者,如果您将这些文件位于另一个路径中,例如在/src/中
import "./ionic.bundle.css"; import "./ionic.js";
-
复制/src 中的文件夹 node_modules/@ionic/core/dist/ionic 在相同的"资产"级别
-
告诉 Angular Cli 在服务和/或构建时将此文件夹视为可导出的文件夹,方法是将以下行添加到 angular-cli.json 文件中:
"assets": [ "ionic", ... ],
-
我正在考虑在 package.json 中创建一个新脚本,以便在 npm 升级包 @ionic/core 后将"ionic"文件夹复制到/src,但我认为这不是必需的,我总是删除 ~ char 到每个包以确保 npm 不会破坏我的项目。
我希望它有所帮助!