Javascript require(browserify)在指定(空对象)时不能正常工作,但在内联时可以工作
我在React(coffee jsx)中有以下组件定义:Javascript require(browserify)在指定(空对象)时不能正常工作,但在内联时可以工作,javascript,coffeescript,reactjs,browserify,Javascript,Coffeescript,Reactjs,Browserify,我在React(coffee jsx)中有以下组件定义: CompUtils=require./../utils/comp-utils' ... 渲染:-> console.log CompUtils#prints{}(空对象) 然后 {CompUtils.getConstructComponent@props.construct,@props.onUpdate,@props.onRemove} 但这是可行的: render: -> console.log require('
CompUtils=require./../utils/comp-utils'
...
渲染:->
console.log CompUtils#prints{}(空对象)
然后
{CompUtils.getConstructComponent@props.construct,@props.onUpdate,@props.onRemove}
但这是可行的:
render: ->
console.log require('./../utils/comp-utils')
<div>
Then
{require('./../utils/comp-utils').getConstructComponent @props.construct, @props.onUpdate, @props.onRemove}
</div>
render:->
console.log require('./../utils/comp-utils'))
然后
{require('./../utils/comp-utils')。getConstructComponent@props.construct,@props.onUpdate,@props.onRemove}
我完全被这件事弄糊涂了。请注意,
CompUtils
已成功用于其他组件。通常,当您从require调用中获得空对象时,这是因为您具有循环依赖关系。因此您需要A,它需要B,它需要C,它需要A。在这种情况下,C将得到一个表示A的空对象,因为A尚未完成其功能/对象的导出,而A只有在下一个勾号,A完成导出后才能完全供C使用
下面是一个例子:
// a.js
var b = require('./b');
module.exports = {
doStuff: function () {
}
}
// b.js
var c = require('./c');
// c.js
var a = require('./a');
// This will fail because a.js hasn't exported doStuff yet, since a required b, which
// required c, which required a.
a.doStuff();
获取空对象的原因是Browserify创建了一个表示
模块的空对象。在模块代码运行之前,导出该模块的。这意味着另一个模块可能在完成之前需要它,它只是没有完全烘焙。通常,当您从require调用中获得一个空对象时,这是因为您具有循环依赖关系。因此您需要A,它需要B,它需要C,它需要A。在这种情况下,C将得到一个表示A的空对象,因为A尚未完成其功能/对象的导出,而A只有在下一个勾号,A完成导出后才能完全供C使用
下面是一个例子:
// a.js
var b = require('./b');
module.exports = {
doStuff: function () {
}
}
// b.js
var c = require('./c');
// c.js
var a = require('./a');
// This will fail because a.js hasn't exported doStuff yet, since a required b, which
// required c, which required a.
a.doStuff();
获取空对象的原因是Browserify创建了一个表示模块的空对象。在模块代码运行之前,导出该模块的。这意味着另一个模块可能在完成之前需要它,它只是没有完全烘焙。就像你说的,它应该像在其他组件中一样工作,所以它必须是特定于此组件的。你能发布coffeescript生成的JavaScript代码吗?就像你说的,它应该像在其他组件中一样工作,所以它必须是特定于此组件的。你能发布JavaScript代码吗正在由coffeescript生成?找到循环依赖项。帮了大忙!!找到循环依赖项。帮了大忙!!