Javascript 网页包:无法对';的属性“curry”进行解构;未定义';或';空';
在为浏览器使用webpack&babel loader编译我的应用程序后,在主功能启动之前,会立即出现以下错误:Javascript 网页包:无法对';的属性“curry”进行解构;未定义';或';空';,javascript,node.js,webpack,babeljs,babel-loader,Javascript,Node.js,Webpack,Babeljs,Babel Loader,在为浏览器使用webpack&babel loader编译我的应用程序后,在主功能启动之前,会立即出现以下错误: Uncaught TypeError: Cannot destructure property `curry` of 'undefined' or 'null'. at Object../node_modules/@qzdio/f/lib/combinators/sync.js (index-c1596672f4.js:formatted:268) at n (run
Uncaught TypeError: Cannot destructure property `curry` of 'undefined' or 'null'.
at Object../node_modules/@qzdio/f/lib/combinators/sync.js (index-c1596672f4.js:formatted:268)
at n (runtime-74c3f0da77.js:formatted:10)
at Object../node_modules/@qzdio/f/lib/combinators/index.js (index-c1596672f4.js:formatted:251)
at n (runtime-74c3f0da77.js:formatted:10)
at Object../node_modules/@qzdio/f/lib/index.js (index-c1596672f4.js:formatted:723)
at n (runtime-74c3f0da77.js:formatted:10)
at Object../dist/graph/visualizer/src/index.js (index-c1596672f4.js:formatted:9)
at n (runtime-74c3f0da77.js:formatted:10)
at window.webpackJsonp (runtime-74c3f0da77.js:formatted:26)
at index-c1596672f4.js:formatted:1
故障代码是以下各项的ES5传输:
import R from 'ramda';
const { curry } = R;
// I :: a -> a
const I = (x) => x;
...
其中,所述代码来自依赖于和的私有函数库。该库在Node.js 8.9.1下使用和工作
使用的是philipwalton的网页esnext样板(很好的开始:D)
版本:
- 巴别塔cli:^6.26.0
- 巴别塔加载器:^7.1.2
- 网页包:^3.8.1
- 浏览器:Google Chrome版本62.0.3202.89(官方版本)(64位)
- Node.js:8.9.1
- 净现值:5.5.1
干杯✨ 您必须使用
从'ramda'导入{curry}
。您可以看到rambda是如何导出其模块的。它不导出ramda
模块本身,而是导出单个函数
如果要访问其他方法,可以使用以下示例:
从'ramda'导入{curry,addIndex,clone}
您必须使用从'ramda'导入{curry}
。您可以看到rambda是如何导出其模块的。它不导出ramda
模块本身,而是导出单个函数
如果要访问其他方法,可以使用以下示例:
从“ramda”导入{curry,addIndex,clone}
如果确实希望将所有导出的值都放在一个对象中,可以执行以下操作
import * as R from 'ramda';
const { curry } = R;
如果确实希望将所有导出的值放在一个对象中,可以执行以下操作
import * as R from 'ramda';
const { curry } = R;
这是否
constr=require('ramda')代码>有效?您是否尝试过从“ramda”导入{curry}
它们都是行的有效排列是,但为了在webpack中测试它们,我必须提交到库,然后在npm上推送修补版本。但是,我可以向您保证这两种方法都在节点环境中工作,因为我在库的其他文件中有这些精确的行,并且正如前面所说,库在节点中正确加载。我的猜测是,从网页包的角度来看,这更像是一个配置/传输问题。但是如果你坚持,我会把“拉姆达”改成导入R然后使用R.curry
解决相同的错误<代码>从“ramda”导入{curry}似乎可以做到这一点@dzm知道为什么吗?这个constr=require('ramda')代码>有效?您是否尝试过从“ramda”导入{curry}
它们都是行的有效排列是,但为了在webpack中测试它们,我必须提交到库,然后在npm上推送修补版本。但是,我可以向您保证这两种方法都在节点环境中工作,因为我在库的其他文件中有这些精确的行,并且正如前面所说,库在节点中正确加载。我的猜测是,从网页包的角度来看,这更像是一个配置/传输问题。但是如果你坚持,我会把“拉姆达”改成导入R然后使用R.curry
解决相同的错误<代码>从“ramda”导入{curry}似乎可以做到这一点@知道为什么吗?那真的很有趣。我想知道为什么我总是毫无疑问地使用原始帖子中概述的方法。但你是对的,这就解决了问题!那真的很有趣。我想知道为什么我总是毫无疑问地使用原始帖子中概述的方法。但你是对的,这就解决了问题!