Vue.js 的 node_modules 规模巨大(初学者问题)

Tre*_*tor 2 node.js vue.js

我开始尝试 vue.js。我确实遵循了建议并添加了以下开发依赖项:

"devDependencies": {
    "@vue/cli-plugin-babel": "^4.1.0",
    "@vue/cli-plugin-eslint": "^4.1.0",
    "@vue/cli-plugin-router": "^4.1.0",
    "@vue/cli-plugin-vuex": "^4.1.0",
    "@vue/cli-service": "^4.1.0",
    "@vue/eslint-config-prettier": "^5.0.0",
    "babel-eslint": "^10.0.3",
    "eslint": "^5.16.0",
    "eslint-plugin-prettier": "^3.1.1",
    "eslint-plugin-vue": "^5.0.0",
    "node-sass": "^4.12.0",
    "prettier": "^1.19.1",
    "sass-loader": "^8.0.0",
    "vue-template-compiler": "^2.6.10"
}
Run Code Online (Sandbox Code Playgroud)

这将在node_modules中加载大约910个模块。大小约为 180 MB。当我尝试复制或传输整个项目时,需要一分钟左右的时间来计算一万个文件。对于一个小项目来说这是很长的。

难道我做错了什么?这看起来有很多东西要随身携带。 任何提示表示赞赏。

Naf*_*war 5

不,你没有做错任何事。所有这些依赖都是开发依赖。这意味着它们不是您的应用程序的一部分,但可以帮助开发。例如,eslint与您的应用程序无关的代码质量工具。它仅用于检查开发中的代码质量和格式,当您构建应用程序时,它不会成为其中的一部分。

通常,javascript 包依赖于其他包,而这些其他包又依赖于更多包,依此类推。它创建了一个巨大的依赖图。您的节点模块文件夹包含所有这些包。例如,有许多依赖项,如您在此处eslint看到的。如果它们是 180 MB,您就不必担心它们。你的最终构建不会那么大。它可能小于 1 MB,具体取决于您的代码。

通常不将节点模块目录与项目一起复制。因为根据您的操作系统,可能会安装一些软件包。package.json每当您需要移动项目时,只需保留文件,然后npm install在目的地上运行以构建和安装新的软件包。