【问题标题】:How to speed up Vue.js command line processes and optimize a webpack build如何加快 Vue.js 命令行进程并优化 webpack 构建
【发布时间】:2020-04-30 10:37:54
【问题描述】:

我构建了一个非常简单的教程项目,其中包含不超过 100-200 行代码。

当我使用 webpack 构建这个项目时,我最终得到了一个 bundle.js 文件,该文件被标记为高于 bundle.js 文件的推荐大小。我觉得这令人不安,因为我知道我的代码非常小。只使用 vuex、vue.js 和几个 node 模块之类的东西,结果却是这么大的 bundle.js,这是怎么回事?

我知道它会为我们打包所有东西,但我很难相信,对于这么小的项目,webpack 无法将它缩小到更小的尺寸。我担心这可能与我在该项目根目录中拥有的大量节点模块有关。

所以我的问题是:webpack 构建是否完全取决于 /node_modules/ 文件夹下我的目录中的节点模块?如果没有,那么我的第一个 vue 项目是如何超过了 bundle.js 的推荐大小的?

这给我带来了另一个我一直很不确定的问题:vue 从我的根用户目录复制几乎我的整个 node_modules 目录是否正常?当我观看教程时,“vue create My_App”命令似乎在不超过 10-20 秒内完成执行,但是当我运行该命令时可能需要几分钟。当我想知道它可能是什么时,我看到它复制了数百个 node_modules ......这完全有必要吗?是否有我应该设置或更改但我错过的配置或设置?

感谢大家提供的任何见解,无论大小。

    // webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const path = require('path');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  entry: './src/main.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/dist/'
  },
  mode: 'development',
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader'
      },
      // this will apply to both plain `.js` files
      // AND `<script>` blocks in `.vue` files
      {
        test: /\.js$/,
        loader: 'babel-loader'
      },
      // this will apply to both plain `.css` files
      // AND `<style>` blocks in `.vue` files
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ]
      }
    ]
  },
  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.common.js'
    }
  },
  plugins: [
    // make sure to include the plugin for the magic
    new VueLoaderPlugin(),
  ],
  optimization: {
    minimizer: [new UglifyJsPlugin()],
  },
};

【问题讨论】:

  • 这可能在Vue.js forums 上问得更好,因为它并不真正属于 SO
  • 你至少需要分享你的 webpack 配置。
  • 显然 webpack 的构建依赖于你使用的 node_modules。最终构建中实际包含的内容取决于很多事情。
  • @AlexanderStaroselsky 我已经用我的 webpack.config.js 文件更新了它......谢谢你指出这一点。
  • @user1538301 我也去Vue.js论坛问问,谢谢!

标签: javascript node.js vue.js webpack vuejs2


【解决方案1】:

使用https://nx.dev/ 等工具 你可以在这里找到视频https://youtu.be/mVKMse-gFBI

【讨论】:

    猜你喜欢
    • 2022-11-30
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 2020-07-23
    相关资源
    最近更新 更多