Javascript 我是否必须将创建并要导入的任何脚本/模块放在node_modules文件夹中?
我正在创建一个VSCode扩展,并按照入门指南()使用yeoman scaffold开始。我在同一目录中创建了一个新文件newModule.js,并希望将其作为模块导入主extension.js脚本中。然后我会:Javascript 我是否必须将创建并要导入的任何脚本/模块放在node_modules文件夹中?,javascript,node.js,visual-studio-code,node-modules,importerror,Javascript,Node.js,Visual Studio Code,Node Modules,Importerror,我正在创建一个VSCode扩展,并按照入门指南()使用yeoman scaffold开始。我在同一目录中创建了一个新文件newModule.js,并希望将其作为模块导入主extension.js脚本中。然后我会: const newModule = require('./newModule.js'); 这会引发一个错误: cannot find module 'newModule' require stack: - 如果将文件复制到默认创建的node_modules文件夹中,此问题将消
const newModule = require('./newModule.js');
这会引发一个错误:
cannot find module 'newModule' require stack: -
如果将文件复制到默认创建的node_modules文件夹中,此问题将消失。我想知道这里发生了什么,以及处理导入的最佳方式是在使用javascript/Node.js/vs-extensions时
我还注意到node_modules文件夹在默认情况下不会推送到github,为什么?node_modules文件夹用于存储您正在使用的库和包中的所有代码。它被排除在git之外,因为将它们全部存储在版本控制中是一种浪费空间和分心的行为,因为您可以随时重新下载它们 只需将模块放在相同的
/src
目录中,并使用import
语法来导入它,而不是require
import newModule from './newModule';
例如,请查看示例代码中的操作方法。请改为
const newModule = require('./newModule.js');
试试这个
import newModule from './newModule');
// ^^ Do not use file extension
还要确保您调用的文件位于同一目录中