【问题标题】:Rollupjs Leave imports unchangedRollupjs 保持导入不变
【发布时间】:2020-12-19 18:21:44
【问题描述】:

我的输入文件如下所示:

import * as chalk from 'chalk'

const chalkInstance = new chalk.Instance({
  level: 1
})

我的输出文件如下所示:

import { Instance } from 'chalk';

const chalkInstance = new Instance({
    level: 1
});

问题是 chalk 是一个 commonjs 模块,我希望我的输出是一个 es 模块,所以当我执行文件时,我收到以下错误:The requested module 'chalk' is expected to be of type CommonJS, which does not support named exports 等。有没有办法防止汇总更改import * as something 进口?即使我禁用 treeshaking,问题也不会消失。 提前谢谢!

【问题讨论】:

    标签: javascript import es6-modules commonjs rollupjs


    【解决方案1】:

    将import 保留为键入不会对您有帮助——您需要改为使用import chalk from 'chalk',因为CommonJS 模块只有一个默认导出。如果你做保留导入,你仍然会得到一个错误,它只是一个不同的错误:

    const chalkInstance = new chalk.Instance({
                          ^
    
    TypeError: chalk.Instance is not a constructor
    

    【讨论】:

      猜你喜欢
      • 2017-02-09
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 2021-11-02
      • 1970-01-01
      • 2013-11-06
      相关资源
      最近更新 更多