UNPKG

create-elmer-ui-app

Version:

create an develop envirnment for elmer-ui-core

114 lines (112 loc) 3.46 kB
const htmlWebpackPlugin = require("html-webpack-plugin"); const ExtractTextWebpackPlugin = require("extract-text-webpack-plugin"); const nodeExternals = require('webpack-node-externals') const webpack = require("webpack"); const path = require("path"); // 对babel的配置,内容同.babelrc文件 const babelOptions = { "presets": [ ["env", { "targets": { "browsers": ["last 2 versions", "safari >= 7"] } }] ] } module.exports = { entry: { "./script/main": './src/index.ts', }, resolve:{ extensions: ['.ts', '.js', '.json'] }, plugins:[ new htmlWebpackPlugin({ filename: "index.html", template: "./src/index.html", inject: true, title: "Document", minify:{ removeComments:true //是否压缩时 去除注释 } }), new ExtractTextWebpackPlugin('css/style[chunkhash:8].css', { allChunks: false }), new webpack.DefinePlugin({ template: function(path){ return require(path); } }) ], module: { rules: [ { test: /\.ts$/, exclude: /node_modules/, enforce: 'pre', use: [ {loader: 'tslint-loader'} ] }, { test: /\.ts(x?)$/, exclude: /node_modules/, use: [ { loader: 'babel-loader', options: babelOptions }, { loader: 'ts-loader' } ] },{ test:/\.css$/i, exclude: /node_modules/, use: ExtractTextWebpackPlugin.extract({ fallback: "style-loader", use: [ "css-loader", 'postcss-loader' ], filename: "[name][hash:8].css" }) }, { test: /\.less$/i, exclude: /node_modules/, use: ExtractTextWebpackPlugin.extract({ use: [ "css-loader", 'postcss-loader', 'less-loader' ], filename: "[name][hash:8].css" }) },{ test: /\.(woff|woff2|ttf|eot)/, exclude: /node_modules/, use: [ {loader: 'url-loader?limit=400&outputPath=font/&publicPath=../font/'} ] },{ test: /\.(jpg|bmp|gif|png|svg)/, exclude: /node_modules/, use: [ {loader: 'url-loader?limit=400&outputPath=img/&publicPath=../img/'} ] },{ test: /\.(html|htm)$/i, exclude: /node_modules/, use : 'text-loader' },{ test: /\.d\.ts$/, loader: 'ignore-loader' } ] }, externals: [ nodeExternals() ] };