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 相关文章推荐
jquery下操作HTML控件的实现代码
Jan 12 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
Mar 31 Javascript
JavaScript判断DIV内容是否为空的方法
Jan 29 Javascript
详解Matlab中 sort 函数用法
Mar 20 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
基于JS实现checkbox全选功能实例代码
Oct 31 Javascript
Bootstrap按钮组简单实现代码
Mar 06 Javascript
详解Vue-基本标签和自定义控件
Mar 24 Javascript
基于BootStrap的前端分页带省略号和上下页效果
May 18 Javascript
JavaScript你不知道的一些数组方法
Aug 18 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
Feb 11 Javascript
实现一个 Vue 吸顶锚点组件方法
Jul 10 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中array_merge与array+array的区别
2013/06/21 PHP
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
python中pass语句用法实例分析
2015/04/30 Python
python中sys.argv函数精简概括
2018/07/08 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python 调用钉钉机器人的方法
2019/02/20 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
Python调用飞书发送消息的示例
2020/11/10 Python
python 模拟登录B站的示例代码
2020/12/15 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
天游软件面试
2013/11/23 面试题
八荣八耻的活动方案
2014/08/16 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
平安建设汇报材料
2014/12/29 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP