Vue系列之 => webpack处理样式文件
处理css文件
安装
npm i style-loader css-loader -D
main.js
import $ from 'jquery' //Es6中导入模块的方式
import './css/index.css'
// import './css/index.css' webpack默认只能打包处理js类型文件
//如果需要处理非js类型的文件,我们需要手动安装一些合适的第三方loader加载器
// 1、打包处理css文件,需要安装 npm i style-loade css-loader -D
// 2、打开webpack.config.js这个配置文件,在里面新增一个配置节点,叫做module它是一个对象
//然后在module这个对象上有个rules属性,这个rules属性是个数组;这个数组中存放了所有第三方
//文件的匹配和处理规则 $(function(){
$('li:odd').css('backgroundColor','red');
$('li:even').css('backgroundColor',function(){
return 'skyblue';
});
})
webpack.config.js
const path = require('path');
//启用热更新的第二步,导入webpack
const webpack = require('webpack');
//导入在内存中生成html页面的插件,只要是插件,都要放到plugins节点中去
const htmlWebpackPlugin = require('html-webpack-plugin'); module.exports = {
entry: path.join(__dirname, './src/main.js'),
output: {
path: path.join(__dirname, './dist'),
filename: 'bundle.js'
},
devServer: { //这是配置webpack-dev-server命令参数的第二种形式
open: true, //自动打开浏览器
port: 3100, //设置端口
contentBase: 'src', //指定托管的根目录
hot: true //启用热更新的第一步
},
plugins: [ //配置插件的节点
//启用热更新第三步
new webpack.HotModuleReplacementPlugin(), //new一个热更新的模块对象
new htmlWebpackPlugin({ //创建一个在内存中生成html页面的插件
template : path.join(__dirname,'./src/index.html'), //指定模板页面,根据指定的路径生成内存中的页面
filename : 'index.html' //指定内存中生成的页面的名称
})
],
module : { //这个节点,用于配置所有第三方模块加载器
rules : [ //所有第三方模块的匹配规则
{ test:/\.css$/,use:['style-loader','css-loader'] } //配置处理.css文件的第三方loader规则
//注意:webpack处理第三方文件类型的过程:
//1,发现这个要处理的文件不是js文件,就去配置文件中查找有没有对应的第三方Loader规则
//2,如果能找到对应的规则,就会调用对应的Loader处理这种文件类型
//3, 在调用loader的时候,是从后往前调用的
//4,当最后的一个Loader调用完毕,会把处理的结果直接交给webpack进行打包合并,最终输出到bundle.js中去。
]
}
}
处理less文件
npm i less -D
npm i less-loader -D
main.js文件
import $ from 'jquery' //Es6中导入模块的方式
import './css/index.css'
import './css/index.less'
// import './css/index.css' webpack默认只能打包处理js类型文件
//如果需要处理非js类型的文件,我们需要手动安装一些合适的第三方loader加载器
// 1、打包处理css文件,需要安装 npm i style-loade css-loader -D
// 2、打开webpack.config.js这个配置文件,在里面新增一个配置节点,叫做module它是一个对象
//然后在module这个对象上有个rules属性,这个rules属性是个数组;这个数组中存放了所有第三方
//文件的匹配和处理规则 $(function(){
$('li:odd').css('backgroundColor','red');
$('li:even').css('backgroundColor',function(){
return 'skyblue';
});
})
webpack.config.js文件
const path = require('path');
//启用热更新的第二步,导入webpack
const webpack = require('webpack');
//导入在内存中生成html页面的插件,只要是插件,都要放到plugins节点中去
const htmlWebpackPlugin = require('html-webpack-plugin'); module.exports = {
entry: path.join(__dirname, './src/main.js'),
output: {
path: path.join(__dirname, './dist'),
filename: 'bundle.js'
},
devServer: { //这是配置webpack-dev-server命令参数的第二种形式
open: true, //自动打开浏览器
port: 3100, //设置端口
contentBase: 'src', //指定托管的根目录
hot: true //启用热更新的第一步
},
plugins: [ //配置插件的节点
//启用热更新第三步
new webpack.HotModuleReplacementPlugin(), //new一个热更新的模块对象
new htmlWebpackPlugin({ //创建一个在内存中生成html页面的插件
template: path.join(__dirname, './src/index.html'), //指定模板页面,根据指定的路径生成内存中的页面
filename: 'index.html' //指定内存中生成的页面的名称
})
],
module: { //这个节点,用于配置所有第三方模块加载器
rules: [ //所有第三方模块的匹配规则
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}, //配置处理.css文件的第三方loader规则
{
test: /\.less$/,
//配置处理.less文件的第三方文件规则
use: ['style-loader','css-loader','less-loader']
}
]
}
}
处理scss文件
安装 npm i sass-loader -D && npm i node-sass -D (在安node-sass要使用cnpm,npm安装极容易失败)
其他配置按照css和less操作即可。
Vue系列之 => webpack处理样式文件的更多相关文章
- Vue系列之 => webpack结合vue使用
安装 npm i vue -S , 在html页面中放一个容器绑定到el上. 修改webpack.config.js , 在与entry , output节点平级加上 resolve 节点. res ...
- Vue系列之 => webpack的url loader
安装: npm i url-loader file-loader -D //url-loader内部依赖file-loader webpack.config.js const path = requ ...
- Vue系列之 => webpack基础使用
webpack安装方式 1,运行 npm i webpack -g 全局安装. 2,在项目根目录中运行 npm i webpack --save-dev 安装到项目依赖中 项目目录 进入src运行, ...
- vue系列之webpack
webpack 地址: https://github.com/vuejs-templates/webpack 注意里面的template,用webpack创建的项目,结构就是这样的
- Vue系列(三):组件及数据传递、路由、单文件组件、vue-cli脚手架
上一篇:Vue系列(二):发送Ajax.JSONP请求.Vue生命周期及实例属性和方法.自定义指令与过渡 一. 组件component 1. 什么是组件? 组件(Component)是 Vue.js ...
- webpack打包vue项目之后生成的dist文件该怎么启动运行
亲测,webpack打包vue项目之后生成的dist文件可以部署到 express 服务器上运行. 我的vue项目结构如下: 1. 进入该vue项目目录,打开git bash,执行:npm run b ...
- Webpack实战(五):轻松读懂Webpack如何分离样式文件
在上一篇文章中我给大家分享了预处理器(loader),里面讲到了style-loader 和css-loader,有关样式引入的问题,但是上面的样式文件只是引入到style标签里面,并不是我想要的样式 ...
- 【webpack】-- 样式加载
加载css需要用到css-loader和style-loader css-loader将@import 和 url 处理成正规的ES6 import ,如果@import指向的是一个外部资源,css- ...
- vue脚手架使用swiper /引入js文件/引入css文件
1.安装vue-cli 参考地址:https://github.com/vuejs/vue-cli 如果不使用严格语法需要在后三项打no:(加了挺头疼的,老是报错,但是对自己的代码规范性也是有很大的帮 ...
随机推荐
- Django与ajax、分页器
ajax简单数据响应 ajax请求,后台只需要返回信息,所以不会出现render.redirect 模板层: $('.btn').click(function() { $.ajax({ url: '/ ...
- Python垃圾回收机制--完美讲解!
转自: http://www.jianshu.com/p/1e375fb40506 先来个概述,第二部分的画述才是厉害的. Garbage collection(GC) 现在的高级语言如java,c# ...
- get、put、post、delete含义与区别
1.GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行多少次操 ...
- mysql 查询近7天数据,缺失补0
相信很多人的项目都有这种需求,就是查询近7天的记录,但是这7天总有那么几天是没数据的,所以缺失的只能补 0 下面的代码不知道能不能看懂,我简单的说一下思路 1)先查询红色字体的近7天,再转换成日期 2 ...
- 隐藏"Input"标签默认样式
input { width: 400px; border: none; background-color: inherit; border-bottom: #fbfee9 solid 3px; fon ...
- Python 小知识 杂七杂八 随手记
1.assert 断言语句 例1: print ‘11111111111’ assert 1==2 print ‘22222222’ 如果没有 assert 程序会输出 ‘1111111111 ...
- 重构file_get_contents实现一个带超时POST传值函数
function wp_file_post_contents($url, $post = null) { $context = array(); if (is_array($post)) { ksor ...
- javascript的数组之map()
map()方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的回调函数后返回的结果.新数组 // ES6 let numbers = [1, 5, 10, 15]; let doubles ...
- linux CentOS 安装 nginx
官方网址:http://nginx.org/en/download.html 一.安装基础组件 yum install gcc-c++ yum install pcre yum install pcr ...
- Nginx(一)-windows下的安装配置
第一步 下载 官网下载地址 因为只是测试这里选择最新版本1.13.9 下载完成得到zip压缩包 解压后得到如下目录 第二步 启动nginx 注意不要直接双击nginx.exe,这样会导致修改配置后重 ...