javascript - 我是否必须将我创建并想要导入的任何脚本/模块放置在 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,为什么?
解决方案
该node_modules
文件夹用于存储您正在使用的库和包中的所有代码。它被 git 排除在外,因为将它们全部存储在版本控制中既浪费空间又会分散注意力,因为您可以随时重新下载它们。
只需将您的模块放在同一/src
目录中,并使用import
语法来导入它,而不是require
.
import newModule from './newModule';
例如,在这个示例代码中查看它是如何完成的。
推荐阅读
- r - 运行 GEE 后,系数表不显示两个自变量的结果
- apache - 致命错误无法分配 134217728 字节的共享内存段:mmap:无法分配内存 (12)
- firebase - Firestore 侦听器的异常
- java - 改进我的键盘输入 (KeyListener) Java
- excel-2016 - 在 excel 中比较两个日期会返回错误的结果
- javascript - 从输入中修复位置 JSON
- python - 输出没有得到字符串 + 整数
- android - 我可以用 Expo 编辑 android:launchMode="singleTask" 吗?(反应原生)
- python - 将字符串拆分为单词
- c++ - decltype 和模板的问题