webpack.dev.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const merge = require('webpack-merge').merge;
  2. const HtmlWebpackPlugin = require('html-webpack-plugin');
  3. const ESLintPlugin = require('eslint-webpack-plugin');
  4. const ProgressBarWebpackPlugin = require('progress-bar-webpack-plugin');
  5. const path = require('path');
  6. const common = require('./webpack.config.js');
  7. const resolve = (url) => path.resolve(__dirname, "..", url);
  8. module.exports = merge(common, {
  9. mode: 'development',
  10. devtool: 'inline-source-map',
  11. plugins: [
  12. new ProgressBarWebpackPlugin(),
  13. new ESLintPlugin({
  14. overrideConfigFile: resolve(".eslintrc.js"),
  15. context: resolve("src"),
  16. extensions: ['ts', 'js'],
  17. fix: true,
  18. }),
  19. new HtmlWebpackPlugin({
  20. template: './index.html',
  21. title: 'luckysheet-io',
  22. scriptLoading: 'blocking',
  23. }),
  24. ],
  25. output: {
  26. filename: 'js/[name].[contenthash].js',
  27. library: 'luckysheet-io',
  28. libraryTarget: 'umd',
  29. },
  30. devServer: {
  31. host: '127.0.0.1',
  32. port: 'auto',
  33. static: './',
  34. hot: true,
  35. bonjour: true,
  36. client: {
  37. progress: true,
  38. overlay: true,
  39. },
  40. },
  41. });