webpack知识

一.webpack

1.安装

1.1 全局安装

npm install webpack -g

1.2 本地安装 ( 官方推荐本地安装 )

npm install webpack --save-dev

## 使用

如果是全局安装的:那么在命令行中就可以直接使用webpack的命令

如果是本地安装的:需要在package.json文件中配置scripts,进行命令的执行

1. 直接执行命令

webpack 入口文件 输出文件

2. 使用配置文件

1. 在当前目录下创建一个webpack.config.js

module.exports = {

entry: "",

output: {

path: "输出的目录路径",

filename: "文件名"

},

module:{

loaders: [

{

test: /文件后缀名的正则表达式/,

//加载器执行的顺序是从右向左的!

loader: "加载器名称!加载器名称"

}

]

},

plugins:[

new htmlWebpackPlugin()

]

}

1

var path = require(‘path‘)

2

var htmlWebpackPlugin = require(‘html-webpack-plugin‘)

3

module.exports = {

4

    entry: ‘./main.js‘,

5

    output: {

6

        path: path.join(__dirname, "dist"),

7

        filename: ‘build.js‘

8

    },

9

    module:{

10

        loaders: [

11

            {

12

                test: /\.css$/,

13

                loader: "style-loader!css-loader!autoprefixer-loader?browsers=last 5 version"

14

            },

15

            {

16

                test: /\.less$/,

17

                loader: "style-loader!css-loader!less-loader"

18

            },

19

            {

20

                test: /\.(jpg|png|gif|jpeg|svg|woff2|ttf|woff|eot)$/,

21

                loader: "url-loader?limit=102400"

22

            },

23

            {

24

                test: /\.html$/,

25

                loader: "html-loader"

26

            }

27

        ]

28

    },

29

    //plugins属性用来配置webpack用到的插件

30

    plugins: [

31

        new htmlWebpackPlugin({

32

            //你想最终复制那个文件到dist目录下,那么这个template属性,就设置成,文件的路径

33

            template: ‘./index.html‘

34

        }),

35

    ]

36

}

css: style-loader css-loader

less: less-loader    less

给loader传递参数: ?

!是用来分隔加载器的

base64

当将以图片转换成base64格式进行存储的时候,体积会变大(大约30%),如果图片过大,那么转成base64,存储的容量大小会变得更大,所以,一般只会将比较小的图片,比较常用,转成base64存储,大的图片不做处理

一 .使用webpack转换es6代码

1. webpack知识补充

webpack官方推荐本地安装

  1. npm install webpack -D

//当将webpack进行本地安装之后,如果没有做全局安装,那么就命令行中就没有webpack指令的可以调用

//所以想用webpack就需要进行配置!

//我们可以在npm的package.json文件中 的scripts对象中新增一个指令

  1. {
  2. scripts: {
  3. "dev": "webpack"
  4. }
  5. }

//命令行:npm run dep

//package.json 文件中 scripts属性中可以新增一些指令

//这些指令可以通过 npm run 指令名称进行调用

//在调用的时候npm会自动帮我们打开一个shell,将这些命令当做shell命令进行执行

//会自动将当前目录中的node_modules中的内容加入到环境变量中!

2. 使用webpack转换es6代码步骤

2.1. 下载加载器(loader)包
  1. npm install babel-loader babel-core -D

babel-loader

babel-core        是babel-loader依赖项

2.2. 去webpack.config.js中配置这个loader
  1. module:{
  2.     loaders:[
  3.         {
  4.             test: /\.js$/,
  5.             loader: ‘babel-loader‘
  6.         }
  7.     ]
  8. }
2.3. 由于babel也需要配置文件,所以我们需要创建一个.babelrc文件

presets: babel在进行代码转换的时候,需要遵守一些规则,这些规则有现成的,

babel-preset-es2015

babel-preset-stage-0

babel-preset-stage-1

babel-preset-stage-2

babel-preset-stage-3

上面的这些都不需要再用了,只需要一个即可

babel-preset-env

需要先下载

  1. npm install babel-preset-env -D
  1. {
  2.     presets: [
  3.         "env"
  4.     ]
  5. }
  1. {
  2.   "presets": [
  3.     ["env", {
  4.       "targets": {
  5.         "browsers": ["last 2 versions", "safari >= 7"]
  6.       }
  7.     }]
  8.   ]
  9. }
2.4. 直接运行 npm run dev 使用webpack打包,就能够将es6的代码转换成es5的内容了

3. babel

es6的一个编译器,这个东西有自己的独立的运行功能 可以下载 babel-cli,来进行es6的代码转换工作!

4.webpack-dev-server

webpack-dev-server生成的内容是在内存中的,不会帮你在dist目录中生成打包后的文件

开发的时候可以用webpack-dev-server,发布的时候,还是得手动的使用webpack进行打包操作

同步跟新,数据有变化时webpack自动跟新,不用重新webpack或npm run dev

配置packade.json文件

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1",

"dev": "webpack-dev-server"

}

配置webpack.config.js文件

  1. {
  2. devServer: {
  3. open: true,
  4. port: 9999,
  5. contentBase: "./src",
  6. hot: true
  7. },
  8. plugins:[
  9. new webpack.HotModuleReplacementPlugin()
  10. ]
  11. }

命令行使用方式

//webpack-dev-server --open --port 9999 --contentBase src --hot

原文地址:https://www.cnblogs.com/pavilion-y/p/8178311.html

时间: 2024-10-20 17:39:56

webpack知识的相关文章

webpack知识总结

学习地址: https://segmentfault.com/a/1190000006178770 1.webpack:模块打包机(分析你的项目结构,找到 JavaScript模块以及其它的一些浏览器不能直接运行的拓 展语言(Scss,TypeScript等),并将其打包为合适的格 式以供浏览器使用.) 2.安装: //全局安装 npm install -g webpack //安装到你的项目目录 npm install --save-dev webpack //初始化 npm init 3.功

webpack知识1

webpack与gulp的区别gulp xxxgulpfile.js压缩合并代码启动服务提交git往服务器提交文件编译代码----------------------------------------------入口(entry)输出(output)loader插件(plugins) 模块打包器css images js json 视频 音频 iconfont 1.npm init2.yarn add webpack webpack-cli --devmode:development(开发版本

webpack-第01节:认识WebPack的作用

原文网址:http://jspang.com/2017/09/16/webpack3-2/ 如果您已经在前端行业中,WebPack在业界的流行程度自然必备多说,成为了前端小白升级为前端工程师的必备技能.如果你对webpack还不够熟悉,那你在前端前进的脚步会受到阻碍,但是你幸运的搜索到了这篇文章.(但是文章可能不会讲解如何从1.0.2.0版本升级3.0版本的知识,而是直接讲解3.0的知识,所以你可能需要有一个空杯心态来学习) 在学习过程中,我希望你能每节看完文章后,都可以自己亲手做一做,如果你不

走进webpack(3)-- 小结

写这一系列的文章,本意是想要梳理一下自己凌乱的webpack知识,只是使用过vue-cli,修改过其中的一部分代码,但是对于一个简单项目从0开始搭建webpack的流程和其中的依赖并不是十分清楚.所以写了这样的一系列文章,一方面巩固自己的知识,一方面也可以给小伙伴们一点点入口.但是无奈运气不好,偏偏恰逢webpack4热火朝天的上线了,在webpack3时代的一部分使用方法已经没办法照葫芦画瓢了.所以一边查看文档和github,给大家找到了一些并不是很完美的解决方案.这是这个系列的最后一篇,说一

怎样安装webpack

现在最流行的三个前端框架,可以说和webpack已经紧密相连,框架官方都推出了和自身框架依赖的webpack构建工具. React.js+WebPack Vue.js+WebPack AngluarJS+WebPack 从此可以看出,无论你前端走那条线,你都要有很强的Webpack知识 webpack有3大特性: 打包:可以把多个Javascript文件打包成一个文件,减少服务器压力和下载带宽. 转换:把拓展语言转换成为普通的JavaScript,让浏览器顺利运行. 优化:前端变的越来越复杂后,

Vue 实现的音乐项目 music app 知识点总结分享

其他 此应用的全部数据来自 QQ音乐,利用 axios 结合 node.js 代理后端请求抓取 全局通用的应用级状态使用 vuex 集中管理 全局引入 fastclick 库,消除 click 移动浏览器 300ms 延迟 页面是响应式的,适配常见的移动端屏幕,采用 flex 布局 疑难总结 & 小技巧 关于 Vue 知识 & 使用技巧 v-html 可以转义字符,处理特定接口很有用 watch 对象可以观测 属性 的变化 像这种父组件传达子组件的参数通常都是在data()里面定义的,为什

微信应用号开发知识贮备之Webpack实战

天地会珠海分舵注:随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生.作为行业内人士,我们很应该去拥抱这个趋势.这段时间在忙完工作之余准备储备一下这方面的知识点,以免将来被微信应用号的浪潮所淹没 通过上一篇<微信应用号开发知识贮备之altjs官方实例初探>,我们已经将altjs的官方实例所用到的依赖包升到最新,且修改的源码相应的部分来适应最新的依赖. 今天本人的目标是将实例中的打包工具从browserify切换到当前更火的更接近nodejs编写习惯的weback上来. 既然要用wepac

Webpack框架知识整理——Plugins

5 Plugins 插件 5.1 我们的nodejs系统上充满了插件,webpack也是基于各种插件才能正常工作的,插件对于webpack来说是一个非常重要的支柱,用于解决loader不能实现的很多事情. 插件: 插件是一个具有 apply 属性的Javascript对象,其中apply属性会被webpack compiler调用,compiler对象可以在整个编译生命周期进行访问: function LogOnBuildWebpackPlugin() { }; //通过 Function.pr

webpack基础知识

一.基础 1 安装 npm i -g webpack webpack-cli // 推荐安装至本地 npm i -D webpack webpack-cli 2 webpck基础使用 2.1 webpack-cli Npm 5.2以上的版本中提供了一个npx命令 npx想要解决的主要问题.就是调用项目内部安装的模块.即就是在node_modules下的.bin目录中找到对应的命令执行 使用webpack命令: npx webpack Webpack4.0之后可以实现0配置打包构建.0配置的特点就