vue.config.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* eslint-disable @typescript-eslint/no-var-requires */
  2. // const { defineConfig } = require('@vue/cli-service');
  3. const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
  4. const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
  5. const AutoImport = require('unplugin-auto-import/webpack');
  6. const Components = require('unplugin-vue-components/webpack');
  7. const { ElementPlusResolver } = require('unplugin-vue-components/resolvers');
  8. module.exports = {
  9. transpileDependencies: true,
  10. lintOnSave: false,
  11. devServer: {
  12. open: true,
  13. host: '0.0.0.0', // 允许外部ip访问
  14. port: 8085, // 端口
  15. },
  16. css: {
  17. loaderOptions: {
  18. scss: {
  19. additionalData: `@use "@/assets/skin/orange/index.scss" as *;`,
  20. },
  21. },
  22. },
  23. configureWebpack: config => {
  24. // remove the existing ForkTsCheckerWebpackPlugin
  25. // config.plugins = config.plugins.filter(p => !(p instanceof ForkTsCheckerWebpackPlugin));
  26. config.plugins.push(
  27. new NodePolyfillPlugin({
  28. // typescript: {
  29. // configFile: path.resolve(__dirname, 'tsconfig.json'),
  30. // }
  31. }),
  32. );
  33. config.plugins.push(
  34. AutoImport({
  35. imports: ['vue', 'vue-router', 'pinia'],
  36. resolvers: [ElementPlusResolver()],
  37. }),
  38. );
  39. config.plugins.push(
  40. Components({
  41. resolvers: [ElementPlusResolver({ importStyle: 'sass' })],
  42. directoryAsNamespace: true,
  43. }),
  44. );
  45. },
  46. };