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 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 Javascript
中止javascript执行的方法
Feb 14 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 Javascript
jQuery实现表格元素动态创建功能
Jan 09 Javascript
微信小程序模板之分页滑动栏
Feb 10 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
Vue自定义全局弹窗组件操作
Aug 11 Javascript
js实现模拟购物商城案例
May 18 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遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
vue项目出现页面空白的解决方案
2019/10/31 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
Python实现的购物车功能示例
2018/02/11 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
美国五金商店:Ace Hardware
2018/03/27 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
学校七一活动方案
2014/01/19 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
2015年植树节活动总结
2015/02/06 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
羊脂球读书笔记
2015/06/30 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书