首页 > 解决方案 > 我是否必须将我创建并想要导入的任何脚本/模块放置在 node_modules 文件夹中?

问题描述

我正在创建一个 VSCode 扩展,并按照入门指南 ( https://code.visualstudio.com/api/get-started/your-first-extension ) 使用 yeoman 脚手架开始。我在同一目录中创建了一个新文件newModule.js,并希望将其作为模块导入以在主 extension.js 脚本中使用。然后我做:

const newModule = require('./newModule.js');  

这会引发错误:

cannot find module 'newModule' require stack: - 

如果我将文件复制到默认创建的node_modules文件夹,此问题就会消失。我想知道这里发生了什么,以及在使用 javascript/Node.js/vs-extensions 时处理导入的最佳方式是什么。

我也注意到node_modules文件夹默认没有推送到github,为什么?

标签: javascriptnode.jsvisual-studio-codenode-modulesimporterror

解决方案


node_modules文件夹用于存储您正在使用的库和包中的所有代码。它被 git 排除在外,因为将它们全部存储在版本控制中既浪费空间又会分散注意力,因为您可以随时重新下载它们。

只需将您的模块放在同一/src目录中,并使用import语法来导入它,而不是require.

import newModule  from './newModule';

例如,在这个示例代码中查看它是如何完成的。


推荐阅读