Javascript 导入具有依赖关系的NPM模块

Javascript 导入具有依赖关系的NPM模块,javascript,meteor,npm,Javascript,Meteor,Npm,目前切换到Meteor 1.3和他的npm模块支持,我遇到了以下问题: TypeError: Cannot set property 'tip' of undefined 下面是相关代码myFile.js: import d3 from 'd3'; import d3tip from 'd3-tip'; //... chart.tip = d3tip() .attr('class', 'd3-tip') .offset([-10, 0]) .html(fu

目前切换到Meteor 1.3和他的npm模块支持,我遇到了以下问题:

TypeError: Cannot set property 'tip' of undefined
下面是相关代码myFile.js

import d3 from 'd3';
import d3tip from 'd3-tip';

//...
chart.tip = d3tip()
      .attr('class', 'd3-tip')
      .offset([-10, 0])
      .html(function(d) {
         //...
      });
错误来自软件包
d3提示

(function (root, factory) {                                                                                            
  if (typeof define === 'function' && define.amd) {                                                                    
    // AMD. Register as an anonymous module with d3 as a dependency.                                                   
    define(['d3'], factory)                                                                                            
  } else if (typeof module === 'object' && module.exports) {                                                           
    // CommonJS                                                                                                        
    module.exports = function(d3) {                                                                                    
      d3.tip = factory(d3)  // HERE THE ERROR (d3 probably not defined)                                                                                           
      return d3.tip                                                                                                    
    }                                                                                                                  
  } else {                                                                                                             
    // Browser global.                                                                                                 
    root.d3.tip = factory(root.d3)                                                                                     
  }                                                                                                                    
}(this, function (d3) { //...}
我猜包
d3-tip
没有找到
d3
,但是
d3-tip
作为
d3-tip
可以在
myFile.js
上找到


我应该在d3工具提示上手动注入d3吗?

我想你必须这么做

import d3tip from 'd3-tip';
d3tip(d3);

要让它连接到d3.tip()

我想您实际上必须这样做

import d3tip from 'd3-tip';
d3tip(d3);

要将其连接到d3.tip()

上,此失败导致出现问题:

从“d3”导入d3

这就是解决方案:

从“d3”导入*为d3


我希望它能帮助一些人。

有一个问题:

从“d3”导入d3

这就是解决方案:

从“d3”导入*为d3


我希望它能帮助别人。

你的package.json文件怎么样?d3提示应该在那里作为一个依赖项进行说明,并且您必须按如下方式运行
npm install
well@VitorRigonid3 tip是一个依赖项,它已安装,因为我的应用程序可以访问d3 tip代码,因为错误来自d3 tip中的代码。tipHow是您的package.json文件吗?d3提示应该在那里作为一个依赖项进行说明,并且您必须按如下方式运行
npm install
well@VitorRigonid3 tip是一个依赖项,它已安装,因为我的应用程序可以访问d3 tip代码,因为错误来自d3 tip中的代码