mrs*_*nce 5 ionic-framework angular ionic4
@ionic/core我正在尝试在 Angular 6 应用程序中使用包中的组件。(它不是 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>
Run Code Online (Sandbox Code Playgroud)
我已添加@ionic/core为 npm 依赖项,并尝试以各种方式导入它,但无法渲染组件。
这是 Stackblitz 编辑器:https://stackblitz.com/edit/angular-34cilj
ion-list正确导入后,中的app.component.html应该按照文档工作。有一些评论的导入尝试app.module.ts
小智 1
谢谢你的启发,这正是我想要的。这就是我为使其发挥作用所做的事情:
解决方案 1:因为它通过在 Stackblitz 项目的 index.html 文件中导入这些库(我将文件保存在 Stackblitz 中以便您可以检查)对我有用,所以我在我的 Angular src/index.html 文件中做了同样的事情并且也工作了。问题是我不想让项目依赖外部 CDN,所以我创建了第二个解决方案。
解决方案2:本地使用:
安装离子核心:
npm install @ionic/core --save
Run Code Online (Sandbox Code Playgroud)将这些行添加到vendor.ts文件中(为了简洁起见,我从main.ts导入了这个文件,但如果这些行直接导入到main.ts中,它也是有效的):
import "../node_modules/@ionic/core/css/ionic.bundle.css";
import "../node_modules/@ionic/core/dist/ionic.js";
Run Code Online (Sandbox Code Playgroud)
或者,如果这些文件位于另一个路径中,例如 /src/
import "./ionic.bundle.css";
import "./ionic.js";
Run Code Online (Sandbox Code Playgroud)将文件夹node_modules/@ionic/core/dist/ionic复制到/src中,与“assets”同一级别
通过将此行添加到 angular-cli.json 文件中,告诉 Angular Cli 在服务和/或构建时将此文件夹视为可导出文件夹:
"assets": [
"ionic",
...
],
Run Code Online (Sandbox Code Playgroud)我正在考虑在 package.json 中创建一个新脚本,以便在 npm 升级包 @ionic/core 后将“ionic”文件夹复制到 /src,但我认为这是不必要的,而且我总是删除 ~ char 到每个包以确保 npm 不会破坏我的项目。
我希望它有帮助!
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |