全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Angular-Cli中引用第三方库

最近在学习angular(AngularJS 2),根据教程使用angular-cli新建项目,然而在添加JQuery和Bootstrap第三方库时遇到了问题...

初试

我最初的想法是直接将相对路径写到index.html即可,如下:

 <link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow" />
<script type="text/javascript" src="../node_modules/jquery/dist/jquery.min.js"/>
<script type="text/javascript" src="../node_modules/bootstrap/dist/js/bootstrap.min.js"/> 

然鹅。。。并不好使,浏览器抓包会显示请求

 http://localhost:4200/node_modules/juqery/dist/jquery.min.js返回404错误,bootstrap也是相同的问题,这里显然是路径不正确,我的项目目录结构如下:

 angular-form/
 |- src/
 | |- app/
 | |- index.html
 | ...
 |- node_modules
 | |- jquery/
 | |- bootstrap/
 | ... 

其中,网站运行时的根目录是src目录,

所以获取不到与其处在同一目录的node_modules目录下文件也在情理之中...

另辟蹊径

经过乱七八糟的查找...发现了可以在/.angular-cli.json文件中配置脚本引用,

在其app.scripts下配置要添加的脚本, 并在app.styles下配置要添加的样式文件:

 "app": [
 {
  ...
  "styles": [
   "node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  "scripts": [
   "node_modules/bootstrap/dist/css/bootstrap.min.css",
   "node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  ...
 }
] 

再次启动网站,却连编译都无法通过...出现如下问题:

 ERROR in multi script-loader!./src/~/jquery/dist/jquery.min.js script-loader!./src/~/bootstrap/dist/js/bootstrap.min.js
Module not found: Error: Can't resolve 'E:\Code\JavaScript\angular2\angular-forms\src\node_modules\jquery\dist\jquery.min.js' in 'E:\Code\JavaScript\angular2\angular-forms'
 @ multi script-loader!./src/~/jquery/dist/jquery.min.js script-loader!./src/~/bootstrap/dist/js/bootstrap.min.js 

可以看出这里去加载js脚本时寻找的是src/目录下的node_modules目录, 所以加载失败。这意味着angular-cli.json文件中配置的路径时相对于网站根目录的路径, 接着做如下更改:

 "app": [
 {
  ...
  "styles": [
   "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  "scripts": [
   "../node_modules/bootstrap/dist/css/bootstrap.min.css",
   "../node_modules/bootstrap/dist/css/bootstrap.min.css"
  ],
  ...
 }
] 

再次运行网站,成功加载~~~

回看来时路

后来了解到,angular-cli的项目使用webpack来将模块打包, 我们这里配置的scriptsstyles会被打包成scripts.bundle.js styles.bundle.js文件加载到前台页面,而后就可以正常使用这些第三方库了~~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angular  # cli  # 第三方库  # cli引用第三方库  # Angular 4环境准备与Angular cli创建项目详解  # 简单谈谈关于Angular Cli打包的事  # Angularjs为ng-click事件传递参数  # Angular CLI 安装和使用教程  # Angular2使用Angular CLI快速搭建工程(一)  # 使用Angular CLI进行Build(构建)和Serve详解  # 详解基于angular-cli配置代理解决跨域请求问题  # 使用Angular CLI生成路由的方法  # 使用Angular Cli如何创建Angular私有库详解  # 加载  # 第三方  # 的是  # 目录下  # 另辟蹊径  # 也在  # 并在  # 情理之中  # 可以看出  # 正常使用  # 写到  # 相对于  # 不正确  # 大家多多  # 就可以  # 却连  # 发现了  # 最初  # 新建项目  # 这意味着 


相关文章: 家具网站制作软件,家具厂怎么跑业务?  Android滚轮选择时间控件使用详解  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何选择高效可靠的多用户建站源码资源?  婚礼视频制作网站,学习*后期制作的网站有哪些?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何在宝塔面板中创建新站点?  建站之星×万网:智能建站系统+自助建站平台一键生成  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何选择高效响应式自助建站源码系统?  建站主机CVM配置优化、SEO策略与性能提升指南  营销式网站制作方案,销售哪个网站招聘效果最好?  建站之星安装提示数据库无法连接如何解决?  如何快速打造个性化非模板自助建站?  小型网站建站如何选择虚拟主机?  中山网站推广排名,中山信息港登录入口?  宝塔面板创建网站无法访问?如何快速排查修复?  黑客入侵网站服务器的常见手法有哪些?  独立制作一个网站多少钱,建立网站需要花多少钱?  如何选择适合PHP云建站的开源框架?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  怎么将XML数据可视化 D3.js加载XML  建站上市公司网站建设方案与SEO优化服务定制指南  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  公司网站的制作公司,企业网站制作基本流程有哪些?  制作网站的公司有哪些,做一个公司网站要多少钱?  ,网页ppt怎么弄成自己的ppt?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何用花生壳三步快速搭建专属网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  高防服务器:AI智能防御DDoS攻击与数据安全保障  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  相册网站制作软件,图片上的网址怎么复制?  如何快速上传建站程序避免常见错误?  如何撰写建站申请书?关键要点有哪些?  电商平台网站制作流程,电商网站如何制作?  如何基于PHP生成高效IDC网络公司建站源码?  如何高效利用亚马逊云主机搭建企业网站?  智能起名网站制作软件有哪些,制作logo的软件?  建站之星官网登录失败?如何快速解决?  网站制作软件有哪些,制图软件有哪些?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何快速搭建高效简练网站?  教程网站设计制作软件,怎么创建自己的一个网站?  网站按钮制作软件,如何实现网页中按钮的自动点击?  建站之星如何保障用户数据免受黑客入侵?  如何通过IIS搭建网站并配置访问权限?  如何正确下载安装西数主机建站助手? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。