Blame view

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