[英]How do I import Pixi.js into a TypeScript project?
我是 Pixi.js 的新手,但我過去有一些使用 TypeScript 的經驗。我真的很難將 Pixi.js 導入我的項目。
我使用 Pixi 和 vanilla JavaScript 的 CDN 導入運行了一個小的 Pixi.js 項目,現在我正試圖讓同一個項目在 TypeScript 上運行。我認為我的選擇之一是使用 Pixi 的 CDN 導入和然后導入 Pixi 的類型定義,但我在幾個地方讀到 Pixi 的更高版本已經寫在 TypeScript 中,所以我認為使用 JavaScript 版本的庫然后導入我的庫不是一個好的選擇擁有 TypeScript 定義。
我嘗試使用npm install pixi.js
,然后import * as PIXI from "pixi.js";
但這給了我這個 TypeScript 錯誤: This module is declared with using 'export =', and can only be used with a default import when using the 'allowSyntheticDefaultImports' flag.
當我無論如何強制它編譯時,它也會給我這個瀏覽器錯誤:未捕獲的類型錯誤Uncaught TypeError: Failed to resolve module specifier "pixi.js". Relative references must start with either "/", "./", or "../".
Uncaught TypeError: Failed to resolve module specifier "pixi.js". Relative references must start with either "/", "./", or "../".
這個錯誤對我來說很有意義,因為明確告訴瀏覽器查找pixi.js
將導致找不到文件,因為它是一個 Node.js 模塊。
我嘗試import * as PIXI from "pixi.js";
import PIXI from "pixi.js";
擺脫“僅使用默認導入”錯誤,但這只是給我一個“pixi.js 沒有默認導出”錯誤,這似乎與我之前得到的錯誤形成鮮明對比,說它只有默認導出...
即使我設法擺脫了 TypeScript 錯誤,我仍然無法理解 function 是如何正確的,因為瀏覽器不知道“pixi.js”是什么,因為它指的是一個 Node 模塊,它不甚至存在於瀏覽器中......
所以所有這些都讓我想到了如何讓 Pixi.js 程序與 TypeScript 一起運行的問題? 我已經多次查找教程,但每個教程都包含 Webpack、Browserify 等內容。我根本不想使用任何捆綁器/其他依賴項,我只想編寫 TypeScript 代碼,編譯它,然后讓它給出我可以將一些.js 文件直接彈出到 a.html 文件中並在我的瀏覽器中運行。 這可能嗎?
到目前為止,我的發現是我正在尋找的東西(不知何故)是不可能的。 我發現我的選擇是要么導入 Pixi 的香草 JavaScript 版本,要么導入沒有類型信息的 go(並做一些 hacky 變通辦法讓PIXI
不認為 PIXI 是未定義的),或者使用像 Webpack 這樣的捆綁器。這些都不是是理想的,我不得不認為還有另一種選擇......
這取決於您的設置,但您可以嘗試以下操作:
import { Sprite } from '@pixi/sprite';
new Sprite()
或者您可以嘗試像這樣將所有內容都導入為 PIXI
import * as PIXI from 'pixi.js';
new PIXI.Sprite()
您一定已經弄清楚了,但我仍然希望這個答案在這里供其他人查看。
這是我在 github 上的演示項目,您可以克隆和使用它。 它安裝了 typescript 和 pixi.js。 本項目使用 VITE 而不是 webpack,后者非常復雜。 pxts:pixi.js 安裝庫
您必須牢記的一些事情
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.