簡體   English   中英

如何從項目的 node_modules 添加符號鏈接?

[英]How do I add a symlink from project's node_modules?

我一直在關注如何使用 React、Node.js 和 MYSQL 編寫密碼管理器的教程。 我突然收到這個錯誤,告訴我文件 /EncrpytionHandler 不在項目 src/ 目錄中。 不過,文件結構與視頻中的相同。 我不確定該怎么做,因為即使我確實移動了文件,錯誤仍然會發生。 這是教程的視頻和我的工作區的截圖:

編譯時出現問題:錯誤 in./src/App.js 9:0-66 未找到模塊:錯誤:您嘗試導入項目 src/ 目錄之外的../../server/EncryptionHandler。 不支持 src/ 之外的相對導入。 你可以將它移到 src/ 中,或者從項目的 node_modules/ 中添加一個符號鏈接。

編寫密碼管理器 - ReactJS、NodeJS、MySQL

我的工作空間的圖像

您嘗試在項目 src/ 目錄之外導入文件。 這個功能不久前被添加到“create-react-app”中。 您可能希望通過簡單地將相同的文件添加到您的前端應用程序來解決它,例如,添加到src/util/目錄,或者繼續這個答案:

ReactJS 在 src/ 目錄外導入組件

注意你已經在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", 'file', (err) => {
  if (err) console.log(err)
  else console.log("done");
);

並在 src 目錄中使用節點運行它<as current work director(cwd or pwd)>

node createSym.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM