一、安装nodejs,查看是否安装成功

二、package.json项目初始化 npm init

电脑有node环境,在根目录下运行命令npm init初始化项目,根据提示输入项目相关信息,然后运行。嫌麻烦的同学可以一直enter,最后输入yes确定,生成以下package.json文件。

三、安装babel loader 和 转码规则

在项目根目录运行命令:

npm install babel-core --save-dev

npm install babel-loader@7  --save-dev

npm install babel-preset-es2015 --save-dev  //安装转码规则

npm install babel-preset-latest --save-dev

【踩坑点】:babel-loader一定不要用8.0以上的版本,因为8.0版本都不兼容babel-core,上图已经帮你们踩过坑验证过了。

babel loader的作用是可以将ES6的代码编译成ES5。

四、创建.babelrc文件

五、以管理员权限全局安装babel-cli

npm install -g babel-cli

运行babel --version查看是否安装成功

六、安装webpack和webpack-cli

在项目根目录下运行

npm install webpack --save-dev

npm install webpack-cli -D

备注:如果你的电脑没有全局安装过webpack-cli,那么当你运行npm run start命令时,终端会提示你安装。

七、配置webpack.config.js

在源代码目录创建 webpack.config.js 文件,内容如下:

八、配置package.json中的scripts

参数详解:

Webpack --config webpack.config2.js //使用另一份配置文件来打包
webpack --progress //显示进度条
Webpack -p //压缩混淆脚本,这个非常重要
Webpack -d //生成map映射文件,告知其中的哪些模块被最终打包到哪里了
webpack --watch //监听变动并自动编译打包
Webpack --color //添加颜色
webpack --mode=production

关于webpack后为什么得配置--mode以上命令,详情可以查看:

https://webpack.js.org/configuration/mode/

-p 是很重要的参数,曾经一个未压缩的 700kb 的文件,压缩后直接降到 180kb (主要是样式这块一句就独占一行脚本,导致未压缩脚本变得很大) 。

九、新建src目录,并在其目录下新建index.js,utils1.js和util2.js。

utils1.js

utils2.js

index.js

十、运行npm start 或 npm run start

十一、验证

在项目根目录添加index.html文件引入build目录下的bundle.js

十二、全局安装http-server

cnpm install http-server -g

启动服务

http-server -p 4080

十三、查看编译结果

以上代码是因为webpack后面我加入了--p了,所以代码被压缩了。

如果你觉得以上原创文章讲得不错,欢迎关注微信个人公众号:程序员周先生,每周将不定期分享前端新技术和学习方法以及常见面试题。

模拟vue实现简单的webpack打包的更多相关文章

  1. Vue老项目支持Webpack打包

    1.老的vue项目支持webpack打包 最近在学习Vue.js.版本是2.6,webpack的版本也相对较老,是2.1.0版本.项目脚手架只配置了npm run dev和npm run build. ...

  2. 从零开始配置一个简单的webpack打包

    一.基础配置 1.创建一个名为demo-webpack的文件夹(名称随意) 2.初始化一个package.json文件 //在cmd窗口中使用以下命令快速创建 npm init -y 3.安装webp ...

  3. 前端(以Vue为例)webpack打包后dist文件包如何部署到django后台中

    由于现在前端使用的三大框架配合webpack可以实现快速打包,为部署到服务端提供了非常大的便利,那么在前端打包后,应该做些什么可以部署到django的后台中呢? 1.打包后文件包dist 进入到 di ...

  4. 如何降低Vue.js项目中Webpack打包文件的大小?

    https://blog.csdn.net/maray/article/details/50988500?utm_source=blogxgwz0 import Blur from ‘vux/src/ ...

  5. vue项目 webpack打包后,图片路径是绝对路径

    vue项目,使用webpack打包,虽然在全局把路径改成了相对的路径,但是图片引用的路径还是异常的,解决办法如下: 1.config文件夹下index.js中: assetsPublicPath:&q ...

  6. 如何使用webpack 打包图片

    最近在学习vue,需要用到webpack打包css,在webpack中文网https://www.webpackjs.com/里只有css的打包配置, 在编写css样式时,因为要引入 背景图片,打包时 ...

  7. 使用webpack打包vue工程

    记得去年十月份的时候,自己在研究webpack,当时只是知道大致的用法,写了一个简单的demo,现在,经过了7个月对公司产品架构的使用,以及对vue-cli的使用,在了解了实际应用中各种需求之后,我自 ...

  8. Less与TypeScript的简单理解与应用,并使用WebPack打包静态页面

    既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 创建空项目 使用Less 使用TypeScript 使用WebPack 开始写项目 总 ...

  9. vue之webpack打包工具的使用

    vue之webpack打包工具的使用 一.什么是webpack? webpack是一个模块打包工具.用vue项目来举例:浏览器它是只认识js,不认识vue的.而我们写的代码后缀大多是.vue的,在每个 ...

随机推荐

  1. Java常用的日志框架

    1.Java常用日志框架对比 https://www.jianshu.com/p/bbbdcb30bba8 2.Log4j,Log4j2,Logback日志框架性能对比 https://bbs.hua ...

  2. ESXi导出的CentOS7 ovf文件导入到workstation 无法打开GUI登录界面的问题解决方案

    1. 前几天将centos的机器导出为ovf 文件 然后使用 workstation 引入之后发现总是黑屏 然后有一个 横杠在闪 2. 解决办法是 修改centos的虚拟机配置文件,将显示器修改为这样 ...

  3. git Permanently added the RSA host key for IP address '13.250.177.223' to the list of known hosts.

    只要把那个ip地址添加进hosts列表中就可解决. 参见:https://blog.csdn.net/hunhun1122/article/details/79752125

  4. Python 中的Lock与RLock

    摘要 由于多线程共享进程的资源和地址空间,因此,在对这些公共资源进行操作时,为了防止这些公共资源出现异常的结果,必须考虑线程的同步和互斥问题. 为什么加锁:1.用于非线程安全, 2.控制一段代码,确保 ...

  5. python-xss攻击和单例模式

    1.python中单例模式 class Foo: instance = None def __new__(cls, *args, **kwargs): if not Foo.instance: Foo ...

  6. mailto - 简单多媒体邮件发送程序

    SYNOPSIS mailto  [-a] [-c] [-s] [recipient name(s)] DESCRIPTION mailto 程序是一个用于发送MIME格式的多媒体邮件(MIME格式是 ...

  7. Thinkphp5 自定义分页样式显示页码和数量

    Thinkphp5 自带的分页比较简单,本文通过修改Bootstrap类自定义显示分页的页码和数量 一.修改完成后如下图显示 二.修改Bootstrap代码: 1.为了不改动Bootstrap.php ...

  8. CentOS7搭建FastDFS+Nginx

    1. FastDFS 介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件 ...

  9. 03Java基础——继承

    1.继承 例如一个员工类,包括开发员工和经理. package cn.jxufe.java.chapter2.demo12; public class Employee { String name; ...

  10. complementary error function

    首先正态分布的概率密度函数为: P{|X-μ|<σ}=2Φ(1)-1=0.6826,  P{|X-μ|<2σ}=2Φ(2)-1=0.9544,  P{|X-μ|<3σ}=2Φ(3)- ...