webpack打包简单入门

使用webPack前请先安装nodejs

webpack命令集合

安装命令:npm install webpack -g 全局安装

npm install webpack --save-dev 当前项目文件夹下安装

打包命令

webpack --config XXX.js //使用另一份配置文件(比如webpack.config2.js)来打包

webpack --watch //监听变动并自动打包

webpack -p //压缩混淆脚本,这个非常非常重要!

webpack -d //生成map映射文件,告知哪些模块被最终打包到哪里了


打包介绍: 

打包测试文件1:

// Greeter.js
module.exports = function () {
    var greet = document.createElement(‘div‘);
    greet.textContent = "我的第一个打包程序!";
    return greet;
};

打包测试文件2:主文件入口

var greeter = require(‘./Greeter.js‘);
document.getElementById(‘root‘).appendChild(greeter());

打包的方式有很多种,我们还是用比较方便简单的方式来进行打包,新建配置文件webpack.config.js

module.exports = {
    devtool:‘‘,
    entry: "./main.js",//已多次提及的唯一入口文件
    output: {
        path: __dirname,
        filename: "bundle.js"//打包后输出文件的文件名
    }
};

运行打包命令 webpack

之后便能在项目根目录看见打包好的文件"bundle.js"。

还有一种打包方式

运行npm init 在项目根目录生成 package.json 文件,进行如下配置:

然后运行npm start

打包完成。

--------打包的命令有很多种,这里就不一一讲解了,具体看顶部打包命令。

配置文件介绍:

生成Source Maps(使调试更容易)

开发总是离不开调试,如果可以更加方便的调试当然就能提高开发效率,不过打包后的文件有时候你是不容易找到出错了的地方对应的源代码的位置的,Source Maps就是来帮我们解决这个问题的。
通过简单的配置后,Webpack在打包时可以为我们生成的source maps,这为我们提供了一种对应编译文件和源文件的方法,使得编译后的代码可读性更高,也更容易调试。

在webpack的配置文件中配置source maps,需要配置devtool,它有以下四种不同的配置选项,各具优缺点,描述如下:

devtool选项 配置结果
source-map 在一个单独的文件中产生一个完整且功能完全的文件。这个文件具有最好的source map,但是它会减慢打包文件的构建速度;
cheap-module-source-map 在一个单独的文件中生成一个不带列映射的map,不带列映射提高项目构建速度,但是也使得浏览器开发者工具只能对应到具体的行,不能对应到具体的列(符号),会对调试造成不便;
eval-source-map 使用eval打包源文件模块,在同一个文件中生成干净的完整的source map。这个选项可以在不影响构建速度的前提下生成完整的sourcemap,但是对打包后输出的JS文件的执行具有性能和安全的隐患。不过在开发阶段这是一个非常好的选项,但是在生产阶段一定不要用这个选项;
cheap-module-eval-source-map 这是在打包文件时最快的生成source map的方法,生成的Source Map 会和打包后的JavaScript文件同行显示,没有列映射,和eval-source-map选项具有相似的缺点;

正如上表所述,上述选项由上到下打包速度越来越快,不过同时也具有越来越多的负面作用,较快的构建速度的后果就是对打包后的文件的的执行有一定影响。

在学习阶段以及在小到中性的项目上,eval-source-map是一个很好的选项,不过记得只在开发阶段使用它,继续上面的例子,进行如下配置

cheap-module-eval-source-map方法构建速度更快,但是不利于调试,推荐在大型项目考虑da时间成本是使用。

时间: 2024-08-03 20:26:40

webpack打包简单入门的相关文章

超简单 webpack 打包工具入门

对前端这个岗位来说,模块化开发是必须要走的一个过程,这其中打包工具的使用必不可少,下面我就说一下 webpack 打包工具的用法,非常简单,学会它,webpack 你就入门了. 使用 webpack 前,你需要准备什么? 安装 node 淘宝镜像 cnpm(最好有) 安装 webpack 如果前两步你都已经有了,那么可以直接跳转到第三步,安装 webpack 命令行如下: 1.全局安装 webpack cnpm install -g [email protected] 这里你可以指定版本安装,也

webpack最简单的入门教程里bundle.js之运行单步调试的原理解析

读这篇文章的朋友,请确保对webpack有最基础的认识. 您可以阅读我前一篇文章:Webpack 10分钟入门 来在本地运行一个Webpack的hello world项目.https://www.toutiao.com/i6612879647568822788/ 我这里可以在回顾一下这个web pack的hello world项目. 用webpack打包之后,项目文件夹里包含了这些资源: index.html的源代码很简单,就包含了一个webpack打包后生成的bundle.js文件: 那么运行

node.js学习之webpack打包react最简单用法

研究一天多也没弄出来个毛,今天早上来到随便一试,嘿,结果成了.最简洁最简单的使用方法,记录下来. 首先,安装webpack命令: $ npm install webpack -g 全局安装,可以在cmd中使用webpack命令. 然后创建一个项目,项目名称webpack,我这里用的是webstorm11.创建成功之后cmd进入项目根目录,执行命令: $ npm init 这个命令会创建一个package.json的文件,是整个项目的配置文件,添加上webpack的依赖包: "devDepende

前端自动化构建工具Webpack开发模式入门指南

Webpack Webpack是时下最流行的模块打包器 它的主要任务就是将各种格式的JavaScript代码,甚至是静态文件 进行分析.压缩.合并.打包,最后生成浏览器支持的代码 特点: 代码拆分方案:webpack可以将应用代码拆分成多个块,每个块包含一个或多个模块,块可以按需异步加载,极大提升大规模单页应用的初始加载速度 智能的静态分析:webpack的智能解析器几乎可以处理任何第三方库 Loader加载器:webpack只能处理原生js模块,但是loader可以将各种资源转换为js模块 p

webpack打包踩坑之TypeError: Cannot read property 'bindings' of null

file loader介绍:https://www.webpackjs.com/loaders/file-loader/ babel loader介绍:https://webpack.js.org/loaders/babel-loader/ webpack-dev-server介绍:https://www.webpackjs.com/configuration/dev-server/  ,https://www.jianshu.com/p/73d74445e5c5 今日在学习百度前端学院的一个小

初试webpack打包

第一次接触webpack,学习了如何用webpack打包,记录一下过程. 1.在项目根目录安装webpack $ npm install webpack --save-dev 2.新建一个webpack.config.js 3.根据需要安装需要的加载器,并在webpack.config.js的module中进行配置,例如加载babel. $ npm install babel-loader --save-dev webpack.config.js文件 var webpack = require(

webpack打包avalon

webpack打包avalon+oniui+jquery 随着avalon的发展壮大,我根据CSDN的统计数字,中国前端大概有1%的人在使用avalon了. avalon的最大优势是能兼容IE6,并且其API是非常稳定,只是在1.3.7 对ms-duplex的拦截器做了一次改动(但这次改动也向下兼容),1.5中去除avalon.define的旧风格支持,废掉ms-widget指令改成更强大的自定义标签指令.相对于其他MVVM框架来说,是非常的良心.此外,配套是非常完善,尤其是oniui,也支持到

webpack学习简单总结

webpack使用总结: 入门使用: 这个报错说明需要安装相应的Loader,并在引用时指定相应的loader 执行成功如图: chunk指相应的区块. 要是css引入正确:必须引入css-loader,要使改变的css生效,要引入style-loader; 各个js的函数调用只能在各自的函数中写,引入只是合并的意思,但并不能直接使用引入的js的函数. 而且style-loader要写在css-loader的前面,否则报如下错误. 执行成功之后,css插入到了head标签里. loader正确顺

android的简单入门学习

话说光配环境就整死我了, 不是说多么难, 是最近google被屏了, 很多sdk里面需要下载的东西都下不下来, 坑爹啊.  最后跟扫拉稀要了一个他配置好的,才运行了. android目录分析: assets 资产目录,存放文件,这些文件会被打包到应用程序的apk(安装包) bin 编译后的文件目录 gen 目录自动生成的目录 project.properties 代表编译的版本 target = "" 来修改编译版本 libs 支持jar包 会被添加到android depend 目录