1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 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
| const { Configuration } = require('webpack') const path = require('path') const htmlWebpackPlugin = require('html-webpack-plugin') const { CleanWebpackPlugin } = require('clean-webpack-plugin') const { VueLoaderPlugin } = require('vue-loader/dist/index'); const FriendlyErrorsWebpackPlugin = require("friendly-errors-webpack-plugin");
const config = { mode: "development", entry: './src/main.ts', output: { filename: "[hash].js", path: path.resolve(__dirname, 'dist') }, module: { rules: [ { test: /\.vue$/, use: "vue-loader" }, { test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"], }, { test: /\.css$/, use: ["style-loader", "css-loader"], }, { test: /\.ts$/, loader: "ts-loader", options: { configFile: path.resolve(process.cwd(), 'tsconfig.json'), appendTsSuffixTo: [/\.vue$/] }, } ] }, plugins: [ new htmlWebpackPlugin({ template: "./public/index.html" }), new CleanWebpackPlugin(), new VueLoaderPlugin(), new FriendlyErrorsWebpackPlugin({ compilationSuccessInfo:{ messages:['You application is running here http://localhost:9001'] } }) ], resolve: { alias: { "@": path.resolve(__dirname, './src') }, extensions: ['.js', '.json', '.vue', '.ts', '.tsx'] }, stats:"errors-only", devServer: { proxy: {}, port: 9001, hot: true, open: true, }, externals: { vue: "Vue" }, } module.exports = config
|