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 相关文章推荐
input按钮的事件处理大全
Dec 10 Javascript
非主流的textarea自增长实现js代码
Dec 20 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
js对字符的验证方法汇总
Feb 04 Javascript
js数组去重的方法汇总
Jul 29 Javascript
javascript实现五星评价代码(源码下载)
Aug 11 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
Web开发必知Javascript技巧大全
Feb 23 Javascript
js 上传文件预览的简单实例
Aug 16 Javascript
easyui-combobox 实现简单的自动补全功能示例
Nov 08 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
bootstrap输入框组使用方法
Feb 07 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
中东人咖啡哲学
2021/03/03 咖啡文化
php仿discuz分页效果代码
2008/10/02 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
php pdo操作数据库示例
2017/03/10 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
基督教婚礼主持词
2014/03/14 职场文书
伊索寓言教学反思
2014/05/01 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书