簡體   English   中英

帶匯總的絕對導入

[英]Absolute imports with rollup

我正在嘗試獲得類似的進口

import { startup } from "applicationRoot/renderUI";

在我的應用程序的任何地方工作。 我認為rollup-plugin-alias很適合這個。 我試過配置

alias({
  applicationRoot: "applicationRoot/"
})

在我的插件數組中。 這很接近,但擴展名被刪除,所以我收到錯誤:

c:\\path\\to\\applicationRoot\\renderUI 不存在。

加入

alias({
  resolve: [".js"],
  applicationRoot: "applicationRoot/"
}),

沒有改變任何東西。

您可以使用rollup-plugin-includepaths

將此添加到您的匯總配置中:

import includePaths from 'rollup-plugin-includepaths';

export default {
  ...
  plugins: [
    ...
    includePaths({ paths: ["./"] })
  ]
};

這將告訴 Rollup 還從應用程序的根目錄解析導入,所以像

import { startup } from "applicationRoot/renderUI";

將適當地找到它所在的applicationRoot文件夾。

這不是原始問題的答案,但如果您是從搜索結果來到這里並使用 Typescript,則可以在 tsconfig 中設置compilerOptions.baseUrl ,它就會起作用。

{
  ...
  compilerOptions: {
    ...
    "baseUrl": "./"
  },
}

然后,如果你有一個像 `src/lib/util.ts' 這樣的文件,你可以導入它:

import util from 'src/lib/util'

暫無
暫無

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

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