webpack打包并将文件加载到指定的位置方法

 更新时间:2018年02月22日 09:58:15   作者:小白变怪兽  
下面小编就为大家分享一篇webpack打包并将文件加载到指定的位置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

使用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打包并将文件加载到指定的位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • js new Date()实例测试

    js new Date()实例测试

    在本篇文章中小编给各位整理的是关于js new Date()测试的相关实例代码,有需要的朋友们参考学习下。
    2019-10-10
  • JavaScript数组实现扁平化四种方法详解

    JavaScript数组实现扁平化四种方法详解

    扁平化,顾名思义就是减少复杂性装饰,使其事物本身更简洁、简单,突出主题。数组扁平化,对着上面意思套也知道了,就是将一个复杂的嵌套多层的数组,一层一层的转化为层级较少或者只有一层的数组
    2022-10-10
  • 图片动画横条广告带上下滚动可自定义图片、链接等等

    图片动画横条广告带上下滚动可自定义图片、链接等等

    可以自定义广告的图片、链接、长、宽等。光标移到图片上会出现左右箭头,感兴趣的朋友可以尝试测试下
    2013-10-10
  • js实现可以点击收缩或张开的悬浮窗

    js实现可以点击收缩或张开的悬浮窗

    这篇文章主要介绍了js实现可以点击收缩或张开的悬浮窗效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 完美解决input[type=number]无法显示非数字字符的问题

    完美解决input[type=number]无法显示非数字字符的问题

    下面小编就为大家带来一篇完美解决input[type=number]无法显示非数字字符的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 微信小程序url传参写变量的方法

    微信小程序url传参写变量的方法

    这篇文章主要介绍了微信小程序url传参写变量的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • js让一行页脚保持在底部

    js让一行页脚保持在底部

    所谓保持在底部就是: 在内容不超过一屏的情况下, 当浏览器窗口变小那行页脚文字会跟着向上浮动但还是保持在底部。当内容多出一屏时,他显示在网页的最下边,而不是窗口的最下边;
    2008-04-04
  • 微信小程序开发常见问题及解决方案

    微信小程序开发常见问题及解决方案

    这篇文章主要介绍了微信小程序开发常见问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • js中Array.sort()利用零值多维排序

    js中Array.sort()利用零值多维排序

    本文主要介绍了js中Array.sort()利用零值多维排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Bootstrap每天必学之面板

    Bootstrap每天必学之面板

    Bootstrap每天必学之面板,面板(Panels)是Bootstrap框架新增的一个组件,其主要作用就是用来处理一些其他组件无法完成的功能,对面板感兴趣的小伙伴们可以参考一下
    2015-11-11

最新评论