Webpack 处理文件操作方法全面解读

why 60 2024-09-29

这次给大家带来如何操作webpack处理文件,操作webpack处理文件的注意事项有哪些,下面就是实战案例,一起来看一下。

Webpack 处理文件操作方法全面解读

使用webpack打包,最爽的事情莫过于可以直接require文件了,但是这

同时带来了一个问题,就是所有的文件整合到一起,那这一个包就太大了。

基于此:下面我们来了解下webpack的打包(主要是将如何将我们需要的内容模块,分开打包,

并且按照我们自己设定的存放路径进行存放)

首先在webpack.config.js文件中

entry入口函数出表示出哪些是需要单独打包成一个js包的:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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入口函数那儿):

1

2

3

4

5

6

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代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

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')

 ]

};

相信看了本文案例你已经掌握了方法。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Webpack 限制压缩图片大小方法详细解析
下一篇:JS 与 trick 代码的运用及解析全攻略
相关文章

 发表评论

暂时没有评论,来抢沙发吧~