当前位置: 首页 > news >正文

angular4.0如何引入外部插件1:import方案

引入外部插件是项目中非常重要的环节。因为部分插件以js语法写的,而ng4用的是ts语法,所以在引入时需要配置。

Step1:引入swiper插件的js文件【css在下面会讲到,先别急】

很重要的意见:亲测,如果用【方法二】引入的js导致效果有问题,请用【方法一】再试

方法一:在index.html中引入

可以用线上的地址,或者是下载到assets文件夹下

<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.x.x/js/swiper.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.x.x/js/swiper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.x.x/js/swiper.jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.x.x/js/swiper.jquery.min.js"></script>

方法二:命令行引入

npm install swiper --save
npm install swiper --save-dev

备注:--save配置在生产环境;--save-dev配置在开发环境

命令执行完毕后,生产的swiper包会下载到node_modules文件夹下的swiper文件夹。

同时在package.json文件下会自动引入swiper配置。

在angular-cli.json文件中配置js路径【相对于index.html的路径】


Step2:配置swiper插件被ts识别

为什么要这步操作呢?因为ts并不能准确识别js语法,所以需要用ts中的interface接口,将js转化成ts并暴露出来。

npm install @types/swiper --save
npm install @types/swiper --save-dev

操作完成后,会在node_modules文件夹下生成@types_swiper文件夹。
查看文件夹下的index.d.ts文件,不明觉厉。

 

Step3:在app.module.ts中将被识别的swiper插件引入项目中

import * as A from 'B';

打开node_modules文件夹下的@types_swiper文件夹下的index.d.ts,见下图

A:指的是插件的类,比如Swiper、$

B:指的是index.d.ts中的模块名称

import * as Swiper from 'swiper';

 

Step4:引入插件的css
方法一:在index.html中引入

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.x.x/css/swiper.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/3.x.x/css/swiper.min.css">

方法二:在styles.css中引入

@import "../node_modules/swiper/dist/css/swiper";

1、css的后缀不用写,写了反而报错

2、iconfont.css在引入时会报错,请在index.html中引入

 

 

转载于:https://www.cnblogs.com/minigrasshopper/p/7692664.html

相关文章:

  • Thinking in React Implemented by Reagent
  • Streams复制文档
  • 动手动脑(课后实验):类和对象
  • 金额字段加千位分隔符
  • Python 中raw 字符串和多行字符串
  • 基本类型小总结
  • nodejs模块——fs模块 使用fs.read读文件
  • 十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)
  • 输入和输出
  • nginx 下配置禅道
  • 近期工作与学习技术总结
  • LightOJ 1098 - A New Function (前n项的因子和 不包括本身和1)
  • POJ1523求割点
  • 国王游戏【解题报告】
  • 微软面试100题2010年版全部答案集锦(含下载地址)
  • [nginx文档翻译系列] 控制nginx
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Apache的80端口被占用以及访问时报错403
  •  D - 粉碎叛乱F - 其他起义
  • Python socket服务器端、客户端传送信息
  • ReactNative开发常用的三方模块
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Theano - 导数
  • uni-app项目数字滚动
  • Vue2 SSR 的优化之旅
  • XML已死 ?
  • 读懂package.json -- 依赖管理
  • 搞机器学习要哪些技能
  • 精彩代码 vue.js
  • 聊聊directory traversal attack
  • 如何实现 font-size 的响应式
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 树莓派 - 使用须知
  • 微信公众号开发小记——5.python微信红包
  • 用Python写一份独特的元宵节祝福
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 白色的风信子
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • (C语言)共用体union的用法举例
  • (SpringBoot)第七章:SpringBoot日志文件
  • (笔试题)分解质因式
  • (二)PySpark3:SparkSQL编程
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)ssm码农论坛 毕业设计 231126
  • (离散数学)逻辑连接词
  • (一)Dubbo快速入门、介绍、使用
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .net 程序发生了一个不可捕获的异常
  • .net 简单实现MD5
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout