Blame view

build/webpack.dev.config.js 3.52 KB
7fa943eb   梁灏   init
1
2
3
4
5
6
  /**
   * 本地预览
   */
  
  var path = require('path');
  var webpack = require('webpack');
7fa943eb   梁灏   init
7
8
9
10
  
  module.exports = {
      // 入口
      entry: {
4b05d84e   梁灏   Modify the direct...
11
          main: './test/main',
7fa943eb   梁灏   init
12
13
14
15
          vendors: ['vue', 'vue-router']
      },
      // 输出
      output: {
4df4ea19   jingsam   optimize project ...
16
          path: path.join(__dirname, '../test/dist'),
4b05d84e   梁灏   Modify the direct...
17
          publicPath: '/test/dist/',
7fa943eb   梁灏   init
18
19
20
21
22
          filename: '[name].js',
          chunkFilename: '[name].chunk.js'
      },
      // 加载器
      module: {
36fa7c6c   梁灏   update webpack co...
23
24
25
26
27
28
29
30
          // https://doc.webpack-china.org/guides/migrating/#module-loaders-module-rules
          rules: [
              {
                  // https://vue-loader.vuejs.org/en/configurations/extract-css.html
                  test: /\.vue$/,
                  loader: 'vue-loader',
                  options: {
                      loaders: {
9e74a856   梁灏   update webpack co...
31
32
                          css: 'vue-style-loader!css-loader',
                          less: 'vue-style-loader!css-loader!less-loader'
36fa7c6c   梁灏   update webpack co...
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
                      },
                      postLoaders: {
                          html: 'babel-loader'
                      }
                  }
              },
              // { test: /\.vue$/, loader: 'vue' },
              // Module build failed: Error: The node API for `babel` has been moved to `babel-core`.
              // https://github.com/babel/babel-loader/blob/master/README.md#the-node-api-for-babel-has-been-moved-to-babel-core
              {
                  test: /\.js$/,
                  loader: 'babel-loader', exclude: /node_modules/
              },
              {
                  test: /\.css$/,
                  use: [
                      'style-loader',
                      'css-loader',
                      'autoprefixer-loader'
                  ]
              },
              {
                  test: /\.less$/,
                  use: [
                      'style-loader',
                      'css-loader',
                      'less-loader'
                  ]
                  // loader: 'style!css!less'
              },
              {
                  test: /\.scss$/,
                  use: [
                      'style-loader',
                      'css-loader',
                      'sass-loader?sourceMap'
                  ]
                  // loader: 'style!css!sass?sourceMap'
              },
7fa943eb   梁灏   init
72
73
74
75
              { test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'},
              { test: /\.(html|tpl)$/, loader: 'html-loader' }
          ]
      },
36fa7c6c   梁灏   update webpack co...
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
      // vue: {
      //     loaders: {
      //         css: ExtractTextPlugin.extract(
      //             "style-loader",
      //             "css-loader?sourceMap",
      //             {
      //                 publicPath: "/test/dist/"
      //             }
      //         ),
      //         less: ExtractTextPlugin.extract(
      //             'vue-style-loader',
      //             'css-loader!less-loader'
      //         ),
      //         js: 'babel'
      //     }
      // },
7fa943eb   梁灏   init
92
93
      resolve: {
          // require时省略的扩展名,如:require('module') 不需要module.js
36fa7c6c   梁灏   update webpack co...
94
          extensions: ['.js', '.vue'],
7fa943eb   梁灏   init
95
          alias: {
36fa7c6c   梁灏   update webpack co...
96
97
              iview: '../../src/index',
              vue: 'vue/dist/vue.js'
7fa943eb   梁灏   init
98
99
100
          }
      },
      plugins: [
36fa7c6c   梁灏   update webpack co...
101
102
103
104
105
          new ExtractTextPlugin({ filename: '[name].css', disable: false, allChunks: true }),
          // new ExtractTextPlugin("[name].css",{ allChunks : true,resolve : ['modules'] }),             // 提取CSS
          // https://doc.webpack-china.org/plugins/commons-chunk-plugin/
          new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', filename: 'vendor.bundle.js' })
          // new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'),                           // 提取第三方库
7fa943eb   梁灏   init
106
      ]
4df4ea19   jingsam   optimize project ...
107
  };