webpack相关配置
cd 项目文件夹
npm init -y
npm install jquery -S //生成node_modules 下载好jquery
创建webpack.config.js
module.exports = {
entry: path.join(__dirname, './src/main.js'), //入口文件
output:{ //输出文件相关配置
path: path.join(__dirname, './dist'),
filename: 'bundle.js' //指定输出文件名称
},
mode: 'development'
}
npm install webpack -D 本地安装一下
npm install webpack-dev-server -D 本地安装webpack-dev-server
npm install webpack-cli -D
配置
"dev": "webpack-dev-server --mode development --open --port 3000 --contentBase src --hot", //--open 自动打开浏览器 --port 3000 端口号3000 --contentBase src 修改默认打开目录 --hot热重载
"build": "webpack-dev-server --mode production"
//注意 model.exports 里 mode: 'developoment' 是否加上去
(htmlwebpackplugin)插件自动在内存中根据制定页面生成一个内存页面 自动把打包好的bundle.js追加到页面
npm install html-webpack-plugin -D
webpack.config.js 中追加
const htmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
.
.
plugins: [
new htmlWebpackPlugin({
template: path.join(__dirname, './src/index.html'),
filename: 'index.html' //设置生成的内存页面名称 不是在磁盘 自动追加引用src
})
]
}
import './css/index.css'
// 如果需要处理css文件 需要安装npm install style-loader css-loader -D
// 打开webpack.conf.js 这个配置文件 在里面新增一个配置节点 叫做module 他是一个对象 有个rules 数组 存放了所有第三方文件匹配处理规则
module: {
rules: [
{
test: /\.css$/, use: ['style-loader','css-loader'] //test 正则匹配 /\.css$/ $结尾 .需要转义 类似replace(/好人/g,坏人) 匹配所有好人替换成坏人
}
]
}
import './css/index.less'
npm install less-loader -D
npm install less
module: {
rules: [
{
test: /\.css$/, use: ['style-loader','css-loader'],
},
{
test: /\.less$/, use: ['style-loader','css-loader','less-loader']
}
]
}
webpack 无法处理css样式表url地址 ../ 图片地址 字体库 需要安装
npm install url-loader file-loader -D //file-loader 是url-loader内部依赖
module: {
rules: [
{
test: /\.css$/, use: ['style-loader','css-loader'],
},
{
test: /\.less$/, use: ['style-loader','css-loader','less-loader']
},
{
test: /\.(jpg|png|gif|bmp|jpeg)$/, use: 'url-loader?limit=7631&name=[hash:8]-[name].[ext]' //处理图片路径的loader 图片小于limit字节的话处理成base64的 如果图片大于等于limit显示完整图片name=[name] 名字不变不处理 hash值
},
{
test: /\.(ttf|eot|svg|woff|woff2)$/, use: 'url-loader' //处理字体文件
},
]
}
静态属性 通过类名直接访问
es6
class Person {
static info = { name: 'zs', age:20}
}
function Animal(name){
this.name = name
}
Animal.info = 123
通过babel可以帮我们将高级语法转换为 低级的语法
①在webpack中,可以运行如下两套命令 安装两套包,去安装babel相关的loader 功能 第一套:转化成低级语法,第二套:语法对应关系
第一套包 npm install babel-core babel-loader babel-plugin-transform-runtime -D
第二套包 npm install babel-preset-env babel-preset-stage-0 -D
②打开webpack的配置文件在module节点下的rules数组中添加新的匹配规则
{
test:/\.js$/, use: 'babel-loader', exclude: /node_modules/
}
// 只需要转换自己写的 不需要转化node_modules中的js文件
// 如果不排除 node_modules ,则babel会把mode_modules中所有第三方js文件都打包编译 而且项目还会无法正常运行
③在项目的根目录中 ,新建一个叫做 .babelrc 的babel配置文件这个配置文件属于JSON格式 不能写注释 字符串双引号
在.babelrc写如下配置:
{
"presets": ["env", "stage-0"],
"plugins": ["transform-runtime"]
}
webpack相关配置的更多相关文章
- webpack常用配置总结
1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机 ...
- webpack的配置
使用webpack工具需要配置一个根目录下的配置文件,文件名默认为webpack.condfig.js,配置文件导出一个模块对象,包含了webpack工具的相关配置参数,这个模块对象将会以参数形式被引 ...
- webpack安装配置使用教程详解
webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...
- 在找一份相对完整的Webpack项目配置指南么?这里有
Webpack已经出来很久了,相关的文章也有很多,然而比较完整的例子却不是很多,让很多新手不知如何下脚,下脚了又遍地坑 说实话,官方文档是蛮乱的,而且有些还是错的错的..很多配置问题只有爬过坑才知道 ...
- Webpack的配置与使用
一.什么是Webpack? WebPack可以看做是模块打包机.用于分析项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),将 ...
- webpack详细配置解析
阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本 ...
- 2、webpack基础配置
我们需要安装webpack 还需要安装webpack cli 这两个都是我们的开发依赖 这里我们一般会加一个-D表示上线的时候不需要他们两个包 安装我们的webpack 先初始化一下,记住我们的安装依 ...
- 使用react-app-rewired和customize-cra对默认webpack自定义配置
最近在学习react框架,之前一直都是用vue 开发,知道在vue 中知道如何配置一下相关的webpack 有助于开发,学react 过程中,我也在想这些该怎么配置啊,所以就有这篇文章. 这篇文章主要 ...
- vue第二单元(webpack的配置-学习webpack的常用配置)
第二单元(webpack的配置-学习webpack的常用配置) #课程目标 掌握webpack的常用配置 掌握如何根据实际的需求修改webpack的对应配置 了解webpack-dev-server的 ...
随机推荐
- RocketMQ源码分析:(一)安装与案例演示
环境: Windows 暂时理解的功能图,不定时改动: 1. 克隆rocketmq代码 git clone git@github.com:apache/rocketmq.git 2. 进入rocket ...
- linux问题集
Too many authentication failures for root (code 2) 原因:服务器可能由于装了一下安全软件导致有时用ssh远程工具登陆不了,提示太多认证失败for ro ...
- Java SPI机制简介
SPI 简介 SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制. 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现 ...
- Java URLDecoder 和 URLEncoder 对中文进行编码和解码
URLDecoder类包含一个decode(String s,String enc)静态方法,它可以将application/x-www-form-urlencoded MIME字符串转成普通字符串: ...
- python 小笔记
1 删除非空文件夹 import shutil shutil.rmtree('c:\\test') print 'ok' ## 判断非空删除 if os.path.exists('../'+kemu_ ...
- linux 下使用 curl post
命令: curl -X POST -d @/etc/lazada/lazada_tracking.txt http://localhost:8080/booking/rs/LazadaServic ...
- hadoop的client搭建-即集群外主机访问hadoop
1增加主机映射(与namenode的映射一样): 增加最后一行 [root@localhost ~]# su - root1 [root@localhost ~]# vi /etc/hosts 12 ...
- 开发MIS系统的相关技术
Java Web应用的核心技术包括以下几个方面:● JSP:进行输入和输出的基本手段.● JavaBean:完成功能的处理.● Servlet:对应用的流程进行控制.● JDBC:是与数据库进行交互不 ...
- JDK7和JDK8concurrentHashmap区别
哈希表 1.介绍 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个 ...
- Tomcat的相关配置问题
Tomcat的目录结构bin --- 存放启动和关闭tomcat的脚本文件 conf --- 存放tomcat的各种配置文件 (主要有server.xml,context.xml,web.xml) ...