var path = require("path");
var webpack = require("webpack");
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: {
app: './src/app.js',
},
output: {
filename: 'js/[name].bundle.js',
path: path.resolve(__dirname, 'dist')
},
module:{
rules:[{
test:/\.js$/,
include:path.resolve(__dirname,'src'),
exclude:path.resolve(__dirname,'node_modules'),
loader: 'babel-loader?presets[]=env',
},{
test:/\.html$/,
use:['html-loader']
},{
test:/\.tpl$/,
use:['ejs-loader']
},{
test:/\.css$/,
use:[ 'style-loader',
{
loader:'css-loader',
options:{
importLoaders:1
}
},
'postcss-loader']
},{
test:/\.less$/,
use:['style-loader','css-loader', 'postcss-loader', 'less-loader']
},{
test:/\.scss$/,
use:['style-loader','css-loader', 'postcss-loader', 'sass-loader']
},{
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
use: ['file-loader']
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
inject: 'body'
}),
new webpack.LoaderOptionsPlugin({
options : {
postcss : function(){
return [
require('autoprefixer')({
browsers: ['ie>=8','>1% in CN']
})
];
}
}
})
]
}
//layer.js
import './layer.less';
import mytpl from './layer.tpl';
function layer(){
return {
name:'layer',
tpl: mytpl
};
}
export default layer;
//app.js
import './app/css/common.css';
import Layer from './app/components/layer/layer.js';
const App = function(){
var dom = document.getElementById('#app');
var layer = new Layer();
dom.innerHTML = layer.tpl({
name:'sunxq',
arr:['zhangsan','lisi','wangwu']
});
}
new App();