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 相关文章推荐
让iframe框架网页在任何浏览器下自动伸缩
Aug 18 Javascript
在 IE 中调用 javascript 打开 Excel 表
Dec 21 Javascript
十分钟打造AutoComplete自动完成效果代码
Dec 26 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
Feb 06 Javascript
JavaScript Accessor实现说明
Dec 06 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
Nov 14 Javascript
jquery html动态生成select标签出问题的解决方法
Nov 20 Javascript
jQuery实现个性翻牌效果导航菜单的方法
Mar 09 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
vue.js实例todoList项目
Jul 07 Javascript
Node.js 进程平滑离场剖析小结
Jan 24 Javascript
JavaScript中while循环的基础使用教程
Aug 11 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
php中curl使用指南
2015/02/05 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
python 文本单词提取和词频统计的实例
2018/12/22 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
wxpython绘制音频效果
2019/11/18 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
python和go语言的区别是什么
2020/07/20 Python
深入分析python 排序
2020/08/24 Python
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
AOP的定义以及作用
2013/09/08 面试题
物业门卫岗位职责
2013/12/28 职场文书
大一军训感言
2014/01/09 职场文书
租车协议书范本2014
2014/11/17 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js