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 输出文件位置和名称
entry: './main.js',
output: {
filename: 'bundle.js'
},
//对常用文件的处理,其中limit后面是文件最大值
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>