Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包2:修复获取polyfill时的生成错误_Javascript_Webpack_Babel Polyfill - Fatal编程技术网

Javascript 网页包2:修复获取polyfill时的生成错误

Javascript 网页包2:修复获取polyfill时的生成错误,javascript,webpack,babel-polyfill,Javascript,Webpack,Babel Polyfill,我有一个带有Webpack2.2.1的JavaScriptES6开发环境,在这里我正在开发一个应用程序package-a 我还使用这个环境来管理对package-b的开发依赖关系,该依赖关系是使用npm-link定义的 环境很好 现在我需要对package-b使用的fetchAPI进行多填充 所以安装了whatwgfetch 我使用的填充方式是本讨论中建议的方式: 因此,我没有对我的代码调用import'whatwg fetch',但我的网页配置中有以下内容: plugins: [

我有一个带有Webpack2.2.1的JavaScriptES6开发环境,在这里我正在开发一个应用程序
package-a

我还使用这个环境来管理对
package-b
的开发依赖关系,该依赖关系是使用
npm-link
定义的

环境很好

现在我需要对package-b使用的
fetch
API进行多填充

所以安装了
whatwgfetch

我使用的填充方式是本讨论中建议的方式:

因此,我没有对我的代码调用
import'whatwg fetch'
,但我的网页配置中有以下内容:

  plugins: [
    new webpack.ProvidePlugin({
      'Promise': 'es6-promise',
      'fetch': 'imports-loader?this=>global!exports-loader?global.fetch!whatwg-fetch',
      'Headers': 'imports-loader?this=>global!exports-loader?global.Headers!whatwg-fetch'
    }),
    ...
这对我来说总是很好,如果我从主(
package-a
)模块中使用
fetch
,这也很有效,但当我在依赖项中使用fetch时,我会得到以下回溯:

ERROR in ../package-b/~/imports-loader?this=>global!../package-b/~/exports-loader?global.fetch!../ecmwf-prwa-editor/~/whatwg-fetch/fetch.js
Module build failed: Error: "...package-b/node_modules/whatwg-fetch/fetch.js" is not in the SourceMap.
ERROR in ../package-b/src/something/something.js
Module not found: Error: Can't resolve 'whatwg-fetch' in '/Users/keul/.../package-b/src/something'
...
请注意,回溯包含对
package-b
node_modules目录的引用(其中
whatwg fetch
仅作为开发依赖项安装,因为我希望保留在“纯”中,而不自动polifyll host env)

删除开发依赖项并将其从
节点\u模块中删除
更改回溯:

ERROR in ../package-b/~/imports-loader?this=>global!../package-b/~/exports-loader?global.fetch!../ecmwf-prwa-editor/~/whatwg-fetch/fetch.js
Module build failed: Error: "...package-b/node_modules/whatwg-fetch/fetch.js" is not in the SourceMap.
ERROR in ../package-b/src/something/something.js
Module not found: Error: Can't resolve 'whatwg-fetch' in '/Users/keul/.../package-b/src/something'
...
如果我放弃这种填充方式,只需将
import'whatwg fetch'
放在
package-a
上即可正常工作

问题是:这里发生了什么?我正在开发一个存在依赖关系的包,为什么polyfill-through网页包在这种情况下会失败?有办法解决吗