我爱编程WEB前端开发

Angular开发经验总结(连载)

2018-03-08  本文已影响0人  dravenxiaokai

引入第三方样式库文件无效(bootstrap)

尝试解决方案一

使用了cnpm安装,node_modules目录下会生成下划线_开头的相应模块,以jquery,bootstrap开头的目录实际上是快捷方式,指向相应的下划线开头的目录下
在.angular-cli.json中的styles,scripts中分别填入:
"../node_modules/bootstrap/dist/css/bootstrap.css"
"../node_modules/jquery/dist/jquery.js"
"../node_modules/bootstrap/dist/js/bootstrap.js"

尝试解决方案二

不使用cnpm而使用npm安装,同时安装jquery,bootstrap的typescript的加载模块

npm install jquery --save
npm install bootstrap --save
npm install @types/jquery --save
npm install @types/bootstrap --save

这里的尝试没有效果,问题依旧存在
尽量用npm安装,cnpm安装感觉会出问题,以前没感觉到有问题,最近刚装的环境,感觉到有问题

最终解决

爬了两天的坑,终于被自己挖出来了,感觉也被自己蠢哭了

样式引入的路径是没有问题的,那为什么会出现bootstrap的部分样式会失效了,最终我还是去了bootstrap的官网,一脸懵逼
bootstrap的V4版本和V3版本的API是不一样的,引入方式也有所区别
V4版本还需要引入popper.js

npm install popper.js --save --registry=https://registry.npm.taobao.org

npm install bootstrap默认安装的是最新版本,当前是V4.0.0版本,所以你会发现panel等以前V3里面的样式不起作用了

总结

npm install bootstrap@3

在angular中引入外部样式

"styles": [
        "styles.scss",
        "assets/..."
      ],
      "scripts": [
        "../node_modules/..."
      ]
@import "~https://...";
<link rel="stylesheet" href="assets/xxx.css">

<script src="assets/xxx.js"></script>

创建ng项目时候,规定使用scss样式

ng new project_name --style=scss

angular/cli安装初的问题

ng new 应用时,install模块时会有个build node-sass操作,用的是pyhon2的语法
所以如果你没有装python2.x的环境,或者是python3.x的版本,是会编译报错的
因为python2.x与python3.x的版本的语法是不一样的
因此你需要安装python2.x的版本,如python-2.7.6
安装完之后,添加环境变量,命名为python2,指向你python的安装目录
找到刚刚报错的目录,命令行执行:
npm rebuild node-sass
然后继续npm i后续没有安装完的包模块
TS文件中如果需要使用依赖注入,需要使用@Injectable注解
我们使用的Component组件中可以直接在构造函数中使用依赖注入是因为,@Component注解中已经继承了injectable注解
上一篇 下一篇

猜你喜欢

热点阅读