Blame view

build/webpack.dev.config.js 3.36 KB
7fa943eb   梁灏   init
1
2
3
4
5
6
  /**
   * 本地预览
   */
  
  var path = require('path');
  var webpack = require('webpack');
1f561319   梁灏   update webpack co...
7
  var ExtractTextPlugin = require('extract-text-webpack-plugin');
7fa943eb   梁灏   init
8
9
10
11
  
  module.exports = {
      // 入口
      entry: {
4b05d84e   梁灏   Modify the direct...
12
          main: './test/main',
7fa943eb   梁灏   init
13
14
15
16
          vendors: ['vue', 'vue-router']
      },
      // 输出
      output: {
4df4ea19   jingsam   optimize project ...
17
          path: path.join(__dirname, '../test/dist'),
4b05d84e   梁灏   Modify the direct...
18
          publicPath: '/test/dist/',
7fa943eb   梁灏   init
19
20
21
22
23
          filename: '[name].js',
          chunkFilename: '[name].chunk.js'
      },
      // 加载器
      module: {
36fa7c6c   梁灏   update webpack co...
24
25
26
27
28
29
30
31
          // 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...
32
33
                          css: 'vue-style-loader!css-loader',
                          less: 'vue-style-loader!css-loader!less-loader'
36fa7c6c   梁灏   update webpack co...
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
72
                      },
                      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
73
74
75
76
              { test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'},
              { test: /\.(html|tpl)$/, loader: 'html-loader' }
          ]
      },
36fa7c6c   梁灏   update webpack co...
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
      // 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
93
94
      resolve: {
          // require时省略的扩展名,如:require('module') 不需要module.js
36fa7c6c   梁灏   update webpack co...
95
          extensions: ['.js', '.vue'],
7fa943eb   梁灏   init
96
          alias: {
36fa7c6c   梁灏   update webpack co...
97
98
              iview: '../../src/index',
              vue: 'vue/dist/vue.js'
7fa943eb   梁灏   init
99
100
101
          }
      },
      plugins: [
1f561319   梁灏   update webpack co...
102
          new ExtractTextPlugin({ filename: '[name].css', disable: false, allChunks: true }),            // 提取CSS
36fa7c6c   梁灏   update webpack co...
103
          // https://doc.webpack-china.org/plugins/commons-chunk-plugin/
fcf37f49   梁灏   update webpack & ...
104
          new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', filename: 'vendor.js' })
7fa943eb   梁灏   init
105
      ]
4df4ea19   jingsam   optimize project ...
106
  };