簡體   English   中英

無法在Node.js Typescript應用程序中導入URL類

[英]Unable to import URL class in Nodejs Typescript app

我正在嘗試從nodejs api導入URL類,以便可以解析URL並檢索其來源,主機名和路徑。

我正在嘗試通過輸入import * as URL from "url";來完成此操作import * as URL from "url";

而且我還嘗試了import { URL } from "url";

而且我似乎無法使它為我工作。 任何幫助將不勝感激。

我試圖使用這種方式

var site = new URL("http://www.website.com");

它拋出一個錯誤,因為它指出URL不是構造函數

URL構造器是作為節點v7.0的一部分引入的。 import { URL } from "url"; 如果使用節點> = v7.0,則是導入它的正確方法。 確保您也使用最新版本的節點類型:

npm install --save-dev @types/node

如果您的節點版本小於7.0,則可以使用parse方法:

import * as url from "url";

var site = url.parse("http://www.website.com");
import * as url from 'Url';

{ parse: [Function: urlParse],
  resolve: [Function: urlResolve],
  resolveObject: [Function: urlResolveObject],
  format: [Function: urlFormat],
  Url: [Function: Url] 
}

它不是構造函數。 您需要使用以下公開的方法之一:

import * as url from 'url';

console.log(url.parse('https://www.google.com'))

// Output:
Url {
  protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'www.google.com',
  port: null,
  hostname: 'www.google.com',
  hash: null,
  search: null,
  query: null,
  pathname: '/',
  path: '/',
  href: 'https://www.google.com/' }
undefined
>

如果有人想知道如何使用URL以便代碼在Node.js和瀏覽器環境之間可移植,那么我來提出以下解決方案:

import * as nodeUrl from "url";

const URL = typeof window !== "undefined" ? window.URL : nodeUrl.URL;

暫無
暫無

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

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