1.创建项目文件夹test,在文件夹下创建src文件夹用来存放源码,在src文件夹下创建index.html/index.js两件文件. 我们的最终目的是将这两个文件打包压缩并输出到/test/dist目录下. 创建好后目录如下: index.html <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http…
前面的文章介绍了webpack的devServer以及多入口多出口文件的配置,咱们继续往下学. 在开始学习接下来的知识之前,我们先回顾一下,前文提到了webpack的简单配置方法,但是只详细说了下入口和出口文件的配置,并没有更多的去解释其他选项的配置,比如loader,plugin等.那么咱们现在就来学一下module的配置.前面说过,module的主要作用就是通过loaders来配置,解析,转换不同类型的模块.比如说,可以把less,sass转换成css,可以把es6甚至es7语法转换成大部分…
webpack到底是什么,网上一大堆介绍的东西,越看越不知道说的什么,所以今天打算自己来记录一下这段时间学习webpack的成果, webpack就是打包文件用的,html,css,js,img,为什么通过他打包?说白了就是我们可以提前使用新的东西,es6现在浏览器支持的其实并不是很好,但这不是问题,你可以采用es6去写脚本, 然后通过webpack去打包成es5,vue项目里面的vue文件也是一样的,也是需要webpack打包成浏览器能够识别的文件才能正常使用,废话不多说,咱们搞起 找个磁盘,…
打包JS库demo项目地址:https://github.com/BothEyes1993/bes-jstools 背景 最近有个需求,需要为小程序写一个SDK,监控小程序的后台接口调用和页面报错(类似fundebug) 听起来高大上的SDK,其实就是一个JS文件,类似平时开发中我们引入的第三方库: const moment = require('moment'); moment().format(); 小程序的模块化采用了Commonjs规范.也就是说,我需要提供一个monitor.js文件,…
从开通博客到现在也没写什么东西,最近几天一直在研究vue+webpack+element-ui项目打包速度优化,想把这几天的成果记录下来,可能对前端牛人来说我这技术比较菜,但还是希望给有需要的朋友提供一下方便. 一开始项目部署到线上后第一次访问首页的时间是7.8秒的样子,页面加载太慢了自己都接受不了何况用户. 主要是从一下几步来优化的: 1.vue路由的加载方式 import Home from '@/components/Index' 改为 const Index = resolve => r…
将多个*.ts文件打包成一个*.min.js文件的开发配置 1.初始化 npm init 新建以下文件目录: 2.安装依赖: "devDependencies": { "@babel/core": "^7.4.5", "@babel/preset-env": "^7.4.5", "babel-loader": "^8.0.6", "ts-loader&quo…
项目背景:一个综合网站,开发模式为后端嵌套数据,前端开发静态页面和部分组件. 问题:gulp任务处理自动刷新.sass编译等都是极好的.但是对于js的处理并不是很好,尤其是项目需要开发组件时候,如评论组件,需要有模版.css.js[各个模块].这时候选择用gulp感觉并不合适,当然可以选择require.js or seajs等AMD/CMD规范来开发,但是想想项目中的组件应该是独立于项目之外的,不依赖于任何第三方js,因此选择去折腾webpack+gulp来搞.几番折腾.百度之后,配置如下:…
在webpack或gulp打包的配置文件中package.json 引入"@babel/plugin-transform-object-assign": "^7.2.0", 然后执行npm install 然后就开始下载这个工具包了,下好后就该改一下配置文件了 webpack中的.babelrc文件里这样写 gulp里的gulpfile.js文件中这样写 这样就可以把Object.assign()方法成功转译,下面对比看一下转译前后的js样例…
压缩bundle.js 1.把我们项目的代码从es6 -> es5 [babel] 参考:http://babeljs.io/docs/setup/#installation 1.1.安装包 babel-core babel-loader babel-preset-env 1.2.在loader中配置 见代码 1.3.在项目的根目录下创建一个.babelrc的配置文件,写好presets的代码 见代码 2.把它设置为生产环境 参考:https://cn.vuejs.org/v2/guide/de…
最近做项目遇到一个要求,就是把本地的 js 和 css 进行压缩后再上线,由于之前项目并没有使用 webpack 之类的库,项目上也因为一些机密不能在线上压缩,这无疑给代码打包压缩带来了很大麻烦,于是上网搜索了一些代码压缩的方法,最终锁定了第三方插件 yuicompressor-2.4.8.jar,因为后台发开用的语言是 java,代码工具是 IntelliJ IDEA,前端开发使用的代码工具是 WebStorm,而 yuicompressor-2.4.8.jar 两者都可以兼容,所以果断选择.…