那么咱们写一个页面除了有JS文件意外咱们还会引入不少的CSS文件,以及咱们还会编写less文件scss文件等。css
那么本省咱们的webpack默认只能处理 .js 的文件,也就是这些其余的文件咱们需用经过第三方的loader才能处理。html
那么咱们先在以前的项目中添加一个css文件,而后在index.html文件中将他引入。jquery
这是页面渲染出来的结果,那么咱们看到这样引入确实是没有问题!也可使用!webpack
可是咱们使用的是webpack,而webpack能够帮咱们减小页面对服务器发起屡次请求的问题,若是咱们这样写的话那么页面就会想服务器发起一次请求。这样咱们就和没有使用webpack同样没有区别了!es6
那么咱们来看下载webpack下要如何引入css文件! 那么咱们打开 index.js 文件,在该文件下加入以下代码web
import './index.css' (后门跟的是文件的路径,包过less和scss文件也是这样引入)
ok!这样引入之后咱们就只须要在 index.html 文件中引入一个 index.js 文件便可。正则表达式
注意有坑:那么我前面说过webpack要打包js文件,可是他只支持打包js文件,那么咱们这样引入的css文件是不起做用的,并且也不会打包成功npm
那么要怎么办呢?咱们这个使用就须要使用第三方的loader才能完成编译json
使用第三方 loader 来使webpack支持打包css文件,那么这里分别列出css less sass 所对应的 loader浏览器
注意有坑: less和sass本省最后也要翻译成css,因此style-loader和css-loader是必装项
Css: style-loader css-loader
Less: less-loader
Sass: sass-loader
那么这里使用cnpm来安装!若是使用npm有可能会安装不上
安装命令: cnpm i style-loader -D cnpm i css-loader -D
那么安装完成之后咱们还须要建立一个叫作 webpack.config.json的文件!那么这个文件通常状况下你的项目是不会有的
因此咱们须要到webpack的官网上去拷贝一份 https://webpack.js.org/
咱们手动建立一个名为 "webpack.config.json" 的文件,将如下的内容粘贴进去,而且咱们须要添加一些配置
const path = require('path'); module.exports = { entry: './src/index.js', //表明单独执行 "webpack" 命令后 在没有指定须要打包的js文件时默认打包的文件 output: { path: path.resolve(__dirname, 'dist'), //打包好后的文件存放的文件夹路径 filename: 'bundle.js' //打包好后的文件的路径 },
module:{ //这个节点 用于配置 全部第三方模块加载器
};
这里是经过正则表达式来匹配文件,use表明当前匹配的文件用哪个loader来处理。
那么若是你须要打包 less文件或者scss文件就经过cnpm i less-loader -D 安装完后添加一个rules的元素便可
而后咱们使用webpack命令从新编译一下项目!
编译完成后生成的bundle.js文件
这个时候咱们修改下index.html,改成只引入bundle.js文件,那么我是有一个本身写的index.js文件和index.css文件
index.js文件中就是一个弹窗效果,index.css文件中是将全部的span标签内的文字变成红色
咱们打开浏览器访问一下!
能够看到一切正常输出,那么这样咱们就实现了将css文件和js文件打包在一块儿,而后只须要引入一个.js文件便可
最后在看下个人index.js文件和index.css文件,能够看到我这里还引入了一个jquery,webpack也帮我一块儿打包进去了!
也就是说我只须要引入一个bundle.js文件!就至关于引入了 index.js index.css jquery.js 三个文件!而且webpack会帮你处理es6代码的兼容性问题