首页 > 解决方案 > 为什么我需要在我的 rollup.config.js 的外部包含 https

问题描述

import typescript from 'rollup-plugin-typescript2'
import commonjs from 'rollup-plugin-commonjs'
import json from '@rollup/plugin-json'
import resolve from 'rollup-plugin-node-resolve'
import builtins from 'rollup-plugin-node-builtins'

export default {
  input: "./index.ts",
  output: {
    file: "./dist/main.compiled.js",
    format: "cjs",
    sourcemap: true
  },
  external: ['https'], //Why???
  plugins: [    
    typescript(), 
    commonjs(),
    json(), 
    builtins(),
    resolve()    
  ]
}

如果我的外部文件中不包含“https”,我会收到此错误:

xhr = new global.XMLHttpRequest();
          ^
TypeError: global.XMLHttpRequest is not a constructor

当我导入这个包并使用为我的 axios 客户端创建 httpAgent 的服务时

import { Agent } from 'https'
httpAgent: new Agent({ keepAlive: true })

我认为 builtins() 解决了这个问题。我yarn run rollup -c用来构建我的项目

标签: typescripthttpsyarnpkgcommonjsrollupjs

解决方案


推荐阅读