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 相关文章推荐
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
基于JQuery的列表拖动排序实现代码
Oct 01 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
理解javascript回调函数
Dec 28 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
Swiper自定义分页器使用详解
Dec 28 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
Jun 20 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
May 13 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 Javascript
微信小程序调用后台service教程详解
Nov 06 Javascript
Vue+Spring Boot简单用户登录(附Demo)
Nov 12 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实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
JavaScript闭包详解
2015/02/02 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
js实现简易计算器功能
2019/10/18 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
机器学习10大经典算法详解
2017/12/07 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
python定时截屏实现
2020/11/02 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
商场促销活动方案
2014/02/08 职场文书
协议书与合同的区别
2014/04/18 职场文书
环保标语大全
2014/06/12 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
心术观后感
2015/06/11 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
Django如何与Ajax交互
2021/04/29 Python
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers