簡體   English   中英

使用 Typescript 時將捆綁 node_modules 匯總到應用程序中

[英]Rollup bundle node_modules into app when using Typescript

我有一個 Typescript 應用程序。 我想將 node_modules 中的依賴項捆綁到生成的包中。 到目前為止,這是我根據這些帖子嘗試過的( Does rollup bundle node_modules into bundle.js?Does rollup bundle node_modules into bundle.js? )。

這是我的匯總配置和我嘗試捆綁的簡單文件:

import typescript from "@rollup/plugin-typescript";
import resolve from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import globals from "rollup-plugin-node-globals";
import builtins from "rollup-plugin-node-builtins";

export default {
  input: "src/test.ts",
  output: {
    dir: "dist/",
    format: "iife",
  },
  plugins: [
    resolve({jsnext: true}),
    commonjs({ include: ["src/test.ts", "node_modules/**"] }),
    // I need to polyfill some node stuff
    globals(),
    builtins(),
    typescript({ noEmitOnError: false, outDir: "dist/" }),
  ],
};

文件:

import * as obj from 'some-module'
console.log(obj)

使用匯總 + typescript 時,如何將 node_modules 中的依賴項捆綁到最終的 output 中? 我懷疑問題是 Typescript 插件正在輸出使用require和 rollup 無法識別require的文件。

package.json中,確保要包含的依賴項注冊在dependencies屬性而不是peerDependencies中。 然后匯總將它們捆綁在 output 中。

您需要將 TypeScript 配置為 output ES 模塊才能工作。 在 tsconfig.json 中將模塊設置為“ESNext”:

{
    "compilerOptions": {
      "module": "ESNext"
    }
}

暫無
暫無

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

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