未解决的依赖关系汇总不会合并依赖项

时间:2019-04-08 08:53:37

标签: rollup rollupjs

我在index.js中引入了“ core-js / modules / es.object.keys”,并且在打包过程中会提示未解决的依赖项。打包的文件不包含keys方法,而是由require,define引入。如果浏览器不支持这两种方法,则调用Object.keys将报告错误。

那我应该怎么做才能在结果文件中获取Object.key的polyfill代码。

我的Index.js文件

import keys from 'core-js/modules/es.object.keys'

export { keys }

这是我的汇总配置文件

{
  input: 'src/index.js',
  output: {
    file: 'lib/index.js',
    format: 'umd',
    name: 'MtUtils'
  },
  plugins: [resolve(), commonjs()]
}

打包结果

;(function(global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined'
    ? factory(exports, require('core-js/modules/es.object.keys'))
    : typeof define === 'function' && define.amd
    ? define(['exports', 'core-js/modules/es.object.keys'], factory)
    : ((global = global || self),
      factory((global.MtUtils = {}), global.es_object_keys))
})(this, function(exports, es_object_keys) {
  'use strict'

  es_object_keys =
    es_object_keys && es_object_keys.hasOwnProperty('default')
      ? es_object_keys['default']
      : es_object_keys

  exports.keys = es_object_keys

  Object.defineProperty(exports, '__esModule', { value: true })
})

我希望打包的文件直接包含键的polyfill代码,而不是通过require或define引入。这里的最终代码是以下代码,因此Object.keys不可用。

factory((global.MtUtils = {}), global.es_object_keys))

0 个答案:

没有答案