Blame view

build/webpack.dev.config.js 3.72 KB
7fa943eb   梁灏   init
1
2
3
4
5
6
7
  /**
   * 本地预览
   */
  
  var path = require('path');
  var webpack = require('webpack');
  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
32
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
72
73
74
          // 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: {
                          css: ExtractTextPlugin.extract({
                              use: 'css-loader',
                              fallback: 'vue-style-loader' // <- this is a dep of vue-loader, so no need to explicitly install if using npm3
                          })
                      },
                      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
75
76
77
78
              { test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'},
              { test: /\.(html|tpl)$/, loader: 'html-loader' }
          ]
      },
36fa7c6c   梁灏   update webpack co...
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
      // 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
95
96
      resolve: {
          // require时省略的扩展名,如:require('module') 不需要module.js
36fa7c6c   梁灏   update webpack co...
97
          extensions: ['.js', '.vue'],
7fa943eb   梁灏   init
98
          alias: {
36fa7c6c   梁灏   update webpack co...
99
100
              iview: '../../src/index',
              vue: 'vue/dist/vue.js'
7fa943eb   梁灏   init
101
102
103
          }
      },
      plugins: [
36fa7c6c   梁灏   update webpack co...
104
105
106
107
108
          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
109
      ]
4df4ea19   jingsam   optimize project ...
110
  };