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相关配置的更多相关文章

  1. webpack常用配置总结

    1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机 ...

  2. webpack的配置

    使用webpack工具需要配置一个根目录下的配置文件,文件名默认为webpack.condfig.js,配置文件导出一个模块对象,包含了webpack工具的相关配置参数,这个模块对象将会以参数形式被引 ...

  3. webpack安装配置使用教程详解

    webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...

  4. 在找一份相对完整的Webpack项目配置指南么?这里有

    Webpack已经出来很久了,相关的文章也有很多,然而比较完整的例子却不是很多,让很多新手不知如何下脚,下脚了又遍地坑 说实话,官方文档是蛮乱的,而且有些还是错的错的..很多配置问题只有爬过坑才知道 ...

  5. Webpack的配置与使用

    一.什么是Webpack?     WebPack可以看做是模块打包机.用于分析项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),将 ...

  6. webpack详细配置解析

    阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本 ...

  7. 2、webpack基础配置

    我们需要安装webpack 还需要安装webpack cli 这两个都是我们的开发依赖 这里我们一般会加一个-D表示上线的时候不需要他们两个包 安装我们的webpack 先初始化一下,记住我们的安装依 ...

  8. 使用react-app-rewired和customize-cra对默认webpack自定义配置

    最近在学习react框架,之前一直都是用vue 开发,知道在vue 中知道如何配置一下相关的webpack 有助于开发,学react 过程中,我也在想这些该怎么配置啊,所以就有这篇文章. 这篇文章主要 ...

  9. vue第二单元(webpack的配置-学习webpack的常用配置)

    第二单元(webpack的配置-学习webpack的常用配置) #课程目标 掌握webpack的常用配置 掌握如何根据实际的需求修改webpack的对应配置 了解webpack-dev-server的 ...

随机推荐

  1. Java调用Jenkins接口实现远程发版

    主要有以下几个要点: 1.在 Manage Jenkins 中设置Configure Global Security(主要是设置CSRF Protection中的prevent cross site ...

  2. uva-387-暴力枚举

    题意: 给你一些小方块,问是不是能组成一个4X4的大方块,所有方块全部要使用,裸枚举 #include <iostream> #include <stdio.h> #inclu ...

  3. 初窥GPFS文件系统(转)

    原文地址:http://blog.csdn.net/jznsmail/article/details/5502840?reload 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化 ...

  4. 【Social listening实操】用大数据文本挖掘,来洞察“共享单车”的行业现状及走势

    本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 对于当下共享单车在互联网界的火热状况,笔者想从大数据文本挖 ...

  5. 《GPU高性能编程CUDA实战》第五章 线程并行

    ▶ 本章介绍了线程并行,并给出四个例子.长向量加法.波纹效果.点积和显示位图. ● 长向量加法(线程块并行 + 线程并行) #include <stdio.h> #include &quo ...

  6. apidoc 生成Restful web Api文档

    在服务器项目开发过程中,总会牵扯到接口文档的设计与编写,之前使用的都是office写一个文档,不够直观.下面介绍一种工具生成Apidoc.,该工具是Nodejs的模块,请务必在使用前安装好nodejs ...

  7. python语言程序设计-北京理工大学-嵩天等课件代码整理

    #TempConvert.py TempStr = input("请输入带有符号的温度值: ") if TempStr[-1] in ['F', 'f']: C = (eval(T ...

  8. django之ModelBase类及mezzanine的page link类

    class ModelBase(type): """ Metaclass for all models. """ def __new__(c ...

  9. js 在光标位置插入内容

    原文:https://blog.csdn.net/smartsmile2012/article/details/53642082 createDocumentFragment()用法: https:/ ...

  10. Mycat 简单配置

    文献 https://www.cnblogs.com/parryyang/p/5758087.html 启动