首頁 >微信小程式 >小程式開發 >如何操作webpack處理文件

如何操作webpack處理文件

php中世界最好的语言
php中世界最好的语言原創
2018-03-17 15:31:022349瀏覽

這次帶給大家如何操作webpack處理文件,操作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')
 ]
};

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

webpack如何動態引入檔案

#用CDN的react webpack打包檔案

微信小程式的圓形進度條怎麼做

以上是如何操作webpack處理文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn