![](/img/trans.png)
[英]Is there a way to use min.js file into a react project? Is it a good practice?
[英]Importing min.js file into ReactJS project
我已經從第三方獲得了一個 min.js 文件。 我想將它導入到我現有的 ReactJS 項目中。
我找到了一些有關如何開始使用其第三方功能的示例。 每個示例都遵循這種通用方法(下面的ABC.min.js
代表他們提供的文件)。 下面的特定示例最終在畫布內呈現圖像:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script src="https://cdn.babylonjs.com/babylon.js"></script>
<script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>
</head>
<body>
<div>
<canvas id="canv123" style="width:250px;height:250px"></canvas>
</div>
<script type="module">
import * as ABC from "../ABC.min.js";
let object = new ABC.foo("canv123");
object.resrcEx = new ABC.BaseResrcEx("./assets");
object.loadCfg("./cfgs/sample.json");
</script>
</body>
</html>
不幸的是,第三方沒有發布他們的 ABC 包(我無法通過yarn
或npm
下載)。 我只有他們提供給我的ABC.min.js
文件。 它包含在腳本標記中導入和執行的函數調用(根據上面的示例)。
我不確定這將如何轉化為我現有的 ReactJS 應用程序(我正在嘗試在 React 組件中實現他們的示例)。 “以 ReactJS 方式”實現這一目標的最佳方法是什么?
特別是,我不確定合並ABC.min.js
文件及其相關邏輯的最佳方法是什么(如上例所示)。 我創建了一個新的 react-component 並在componentDidMount()
內部我嘗試將在上面的script
標記中找到的相同代碼放置 (... let object = new ABC.foo("canv123"); ...etc. etc)
。 但我無法首先import * as ABC from ./ABC.min.js
聲明import * as ABC from ./ABC.min.js
。 相反,我收到錯誤消息,指出“找不到模塊./ABC.min.js
的聲明文件”。
這里的鏈接聽起來與我需要的相似(但同樣,如上一段所述,在我的情況下,它找不到模塊的聲明文件): 如何將自定義 JS 文件包含到 React 創建應用程序中
域名注冊地址:
我正在嘗試將 min.js 文件導入到 ReactJS 項目中。 原始發布者無法通過npm
/ yarn
訪問該包。 我有哪些選擇?
根據您的編碼示例,我認為您可能只需要學習 React 基礎課程。 如果您想繼續將巨石推上山,一些快速解決方法:
首先,使用諸如create-react-app
或next.js 之類的東西來幫助您設置項目。 這些將要求您使用諸如yarn
或npm
類的包管理器。 使用這些來安裝babylonjs
而不是在你的文檔頭部堵塞腳本標簽。 請記住,React 並不像您想象的那樣使用頁面模型。
您需要使用真正的 JS 導入,而不是嘗試在文檔的頭部加載腳本。 React 將捆綁您的應用程序,並希望您以模塊化方式構建您的應用程序。 對於babylon.js
它們看起來像這樣:
import { Scene, Engine } from 'babylonjs';
document.body.whatever
都非常不符合 React。 你需要使用useRef
鈎子來訪問 React 中的 DOM。 ref 或引用是您如何將渲染方法連接到其他鈎子並操作 DOM 節點(使用 React 時,它們是 JSX 中的 JS 對象)。 仔細閱讀一下,一開始要了解很多。祝你好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.