【问题标题】:How do I add a symlink from project's node_modules?如何从项目的 node_modules 添加符号链接?
【发布时间】:2021-12-30 20:10:15
【问题描述】:
我一直在学习如何使用 React、Node.js 和 MYSQL 编写密码管理器的教程。
我突然收到这个错误,告诉我文件 /EncrpytionHandler 不在项目 src/ 目录中。
不过,文件结构与视频中的相同。
我不确定该怎么做,因为即使我确实移动了文件,错误仍然会发生。
这是教程的视频和我的工作区的截图:
编译时出现问题:
./src/App.js 9:0-66 中的错误
未找到模块:错误:您尝试导入项目 src/ 目录之外的 ../../server/EncryptionHandler。不支持 src/ 之外的相对导入。
你可以将它移到 src/ 中,或者从项目的 node_modules/ 中添加一个符号链接。
Coding a Password Manager - ReactJS, NodeJS, MySQL
Image of my workspace
【问题讨论】:
标签:
javascript
mysql
reactjs
【解决方案2】:
注意你已经在src文件夹下运行了服务器,所以它作为你的服务器进程的根目录运行是正常的,所以这个进程没有退出它的根目录的权限,所以最好加上这个模块到 src 文件夹 使导出器在该文件夹中可用,否则您可以为其创建符号链接,如下所示:
在 src 目录中创建名为“createSym.js”的文件,并将以下程序放入其中:
// Node.js program to demonstrate the
// fs.symlink() method
// Import the filesystem module
const {symlink} = require('fs');
symlink("../../server/EncryptionHandler.js",
"./EncryptionHandler.js", 'file', (err) => {
if (err) console.log(err)
else console.log("done");
);
并使用 src 目录中的节点运行它
node createSym.js
请注意,要执行此操作,您需要拥有所需的权限