在节点模块中手动添加方法

时间:2015-08-28 17:34:47

标签: javascript npm browserify node-modules material-ui

我在我的网站上使用material-uinpm上找到的包与他们最新版本(在Github上找到)已经过时了。我手动将这行代码添加到他们的Theme Manager类中,该类反映了这些更改:

setContentFontFamily(newContentFontFamily) {
  if (typeof newContentFontFamily !== "undefined" && newContentFontFamily !== null) {
    this.contentFontFamily = newContentFontFamily;
    this.component = Extend(this.component, this.template.getComponentThemes(this.palette, this.spacing));
  }
},

但是,我的应用程序没有注册这些更改,当我尝试设置字体时:

ThemeManager.setContentFontFamily('Open Sans, Roboto, sans serif');

控制台给了我这个错误:

Uncaught TypeError: ThemeManager.setContentFontFamily is not a function

我使用Browserify捆绑我的客户端'要求'依赖。这是一个Browserify问题,一个npm问题,还是我不了解节点模块是如何工作的?

修改:这是我的package.json

{
  "name": "FooProject",
  "version": "0.0.0",
  "description": "",
  "dependencies": {
    "highlight.js": "^8.7.0",
    "material-ui": "callemall/material-ui",
    "react": "^0.13.3",
    "react-bootstrap": "^0.24.5",
    "react-highlight": "^0.5.0",
    "react-tap-event-plugin": "^0.1.7",
    "underscore": "^1.8.3"
  },
  "author": "Tina Zheng",
  "devDependencies": {
    "babelify": "^6.1.3",
    "bower": "^1.4.1",
    "browserify": "^11.0.1",
    "gulp": "^3.9.0",
    "gulp-react": "^3.0.1",
    "gulp-reactify": "^3.0.1"
  }
}

1 个答案:

答案 0 :(得分:0)

快速解决您的问题(除了联系作者并要求他们更新npm)是使用存储库URL作为依赖项而不是npm模块:

git://github.com/user/project.git#commit-ish

如果存储库位于GitHub上,您可以使用简短形式:

"dependencies": {
    "express": "visionmedia/express",
    "mocha": "visionmedia/mocha#4727d357ea"
  }

docs

如果您只是直接编辑依赖项,那么每次重建时它们都会被覆盖。