您的位置:首页 > Web前端 > JavaScript

webpack.config.js解析

2016-10-20 15:44 465 查看
var path = require('path');
var webpack = require("webpack");
var CopyWebpackPlugin = require('copy-webpack-plugin'); 
var ExtractTextPlugin = require("extract-text-webpack-plugin"); //将组件中的样式乖乖提取出来
var HtmlWebpackPlugin = require('html-webpack-plugin'); //html模板插入代码

//webpck插件
var plugins = [

  // 使用 ProvidePlugin 加载使用率高的依赖库
  new webpack.ProvidePlugin({
    $: 'jquery',
     jQuery: "jquery",
    "window.jQuery": "jquery",
    WdatePicker:'datepiker'
  })
];

//entry  入口函数,在最下面有源码

//output  输出文件位置和名称

module.exports = {
  entry: './main.js',
  output: {
    filename: 'bundle.js'

  },  

//对常用文件的处理,其中limit后面是文件最大值

  module: {
    loaders: [
    {
      test: /\.css$/,
      loader: "style-loader!css-loader?-minimize&sourceMap"
    },
    {
      test: /\.(jpg|png|gif)$/,
      loader: 'url-loader?limit=81920&name=images/[name].[hash:8].[ext]'
    }, {
      test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
      loader: "url-loader?limit=10000&minetype=application/font-woff"
    }, {
      test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
      loader: "file-loader"
    },{
      test: /\.swf$/,
      loader: "file-loader"
    }, {
      test: /\.json$/,
      loader: 'json'
    }, 
    {
      test: /\.(html|tpl)$/,
      exclude:/doublelist/,     //OniUI的不能使用html-loader加载
      //把所有html里的script标签过滤掉
      loader: 'html?minimize=false'
    }
     ],
     noParse: [/sweetalert-dev\.js$/]
  },
resolve: {
    root: path.resolve('./rcsDestnum'),
    // require时省略的扩展名,如:require('module') 不需要module.js
    extension: ['', '.js', '.css'],
    //别名
    alias: {
    'main' : 'js/main',
    'global_ref' : 'assets/common/global',
    'pager' : 'assets/common/pager_amd',
    'jquery' : 'assets/lib/jquery/jquery',
    'ajax' : 'assets/common/ajax_amd',
    'blockUI' : 'assets/lib/blockUI/2.64/jquery.blockUI.min',     
    'pagination':'assets/lib/pagination/1.2.1/jquery.pagination',
    'svMap' : 'assets/common/svConfig',
    'sessionMap':'assets/common/sessionMap',
    'map' :'assets/common/map',
    'avalon' : 'assets/lib/avalon/avalon.shim',
    'artDialog' : 'assets/lib/dialog/6.0.4/dialog',
    'dialog' : 'assets/common/dialog_amd',
    'loading' :'assets/lib/jquery/loading/loading-overlay.min',
    'mmRouter': 'assets/lib/mmRouter-0.5/mmRouter',
    'mmHistory':'assets/lib/mmRouter-0.5/mmHistory',
    }
  },
plugins: plugins
};

main.js

(function(window) {

    var viewmod = require('./rcsDestnum/rcsDestnum.js');

    function init(option) {

        var that = this;

            that.ele.innerHTML = viewmod.viewtSrc;

                viewmod.viewInit(option);

    }

    function SmsContent(ele, option) {

        this.ele = ele;

        init.call(this, option);

    }

    SmsContent.prototype.update = function() {

    };

    Element.prototype.smsContent = function(option) {

        return new SmsContent(this, option);

    };

}(window));

index.html

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>

  <body>

      <div id="sms"></div>

    <script type="text/JavaScript" src="bundle.js"></script>

    <script>

        var option={phone:1,token:1,serCode:1};

        document.getElementById("sms").smsContent(option);

    </script>

  </body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: