webpack打包并将文件加载到指定的位置方法


Posted in Javascript onFebruary 22, 2018

使用webpack打包,最爽的事情莫过于可以直接require文件了,但是这

同时带来了一个问题,就是所有的文件整合到一起,那这一个包就太大了。

基于此:下面我们来了解下webpack的打包(主要是将如何将我们需要的内容模块,分开打包,

并且按照我们自己设定的存放路径进行存放)

首先在webpack.config.js文件中

entry入口函数出表示出哪些是需要单独打包成一个js包的:

entry: {
  main: path.resolve(__dirname,'src/index.js'),
  jq: ['jquery'],
  react: ['react'],
  redom: ['react-dom']
},
output: {
  path: path.resolve(__dirname,'dist'),
  publishPath: 'dist/',
  filename: '[name].js'
 },
plugin: [
  new webpack.optimize.CommonsChunkPlugin('jq','jq.js'),
  new webpack.optimize.CommonsChunkPlugin('vendors','vendors.js'),
  new webpack.optimize.CommonsChunkPlugin('redom','redom.js')
]

如上配置,这样在文件生成的时候dist目录下就会增加jq.js,vendors.js,redom.js这三个js了

以上解决了我们要打包多个包的问题;

那如果我们想要将打包好的js存放在指定的位置又要如何进行操作呢,不用着急,下面就来具体

的实现以下(其实区别主要是在entry入口函数那儿):

entry: {
  './common/main': path.resolve(__dirname,'src/index.js'),
  './jquery/jq': ['jquery'],
  './react/react': ['react'],
  './reactdom/redom': ['react-dom']
 },

如上所示这样四个js就会分别存放到我们制定的dist下的四个文件夹中了。(标注:这时候就不

需要用到webpack.optimize.CommonsChunkPlugin插件了)

最后贴上左右的webpack.config.js代码:

var webpack = require('webpack');
var path = require('path');
module.exports = {
 entry: {
  './common/main': path.resolve(__dirname,'src/index.js'),
  './jquery/jq': ['jquery'],
  './react/react': ['react'],
  './reactdom/redom': ['react-dom']
 },
 output: {
  path: path.resolve(__dirname,'dist'),
  publishPath: 'dist/',
  filename: '[name].js'
 },
 module: {
  loaders: [
   {
    test: /\.scss$/,
    loader: 'style!css!sass'
   },
   {
    test: /\.js$/,
    exclude: /node_modules|vue\/dist|vue-router\/|vue-loader\/|vue-hot-reload-api\/|presets\//,
    loader: 'babel'
   },
   {
    test: /\.(png|jpg|gif)$/,
    loader: 'url?limit=40000'
   }
  ]
 },
 babel: {
  presets: ['es2015','stage-0','react'],
  plugins: ['transform-runtime',["antd",{"style": "css"}]]
 },
 resolve: ['js','jsx','css'],
 plugins:[
  new webpack.ProvidePlugin({
   $:"jquery",
   jQuery:"jquery",
   "window.jQuery":"jquery"
  })
 // new webpack.optimize.CommonsChunkPlugin('jq','jq.js'),
 // new webpack.optimize.CommonsChunkPlugin('vendors','vendors.js'),
 // new webpack.optimize.CommonsChunkPlugin('redom','redom.js')
 ]
};

以上这篇webpack打包并将文件加载到指定的位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
科讯商业版中用到的ajax空间与分页函数
Sep 02 Javascript
(function($){...})(jQuery)的意思
Jul 22 Javascript
js 判断checkbox是否选中的实现代码
Nov 23 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
微信小程序商城项目之淘宝分类入口(2)
Apr 17 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
详解JS实现系统登录页的登录和验证
Apr 29 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 Javascript
js 闭包深入理解与实例分析
Mar 19 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 #Javascript
webpack将js打包后的map文件详解
Feb 22 #Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 #Javascript
深入理解ES6中let和闭包
Feb 22 #Javascript
vue+iview+less+echarts实战项目总结
Feb 22 #Javascript
在vscode中统一vue编码风格的方法
Feb 22 #Javascript
vue webpack打包优化操作技巧
Feb 22 #Javascript
You might like
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
Yii框架安装简明教程
2020/05/15 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
Python备份Mysql脚本
2008/08/11 Python
Django自定义分页效果
2017/06/27 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
python实现按关键字筛选日志文件
2019/12/24 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
python中的yield from语法快速学习
2020/11/06 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
python安装sklearn模块的方法详解
2020/11/28 Python
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
运动会邀请函范文
2014/02/06 职场文书
思想作风建设心得体会
2014/10/22 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
新学期开学寄语2016
2015/12/04 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书