我在我的网站上使用material-ui
,npm
上找到的包与他们最新版本(在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"
}
}
答案 0 :(得分:0)
快速解决您的问题(除了联系作者并要求他们更新npm)是使用存储库URL作为依赖项而不是npm模块:
git://github.com/user/project.git#commit-ish
如果存储库位于GitHub上,您可以使用简短形式:
"dependencies": {
"express": "visionmedia/express",
"mocha": "visionmedia/mocha#4727d357ea"
}
(docs)
如果您只是直接编辑依赖项,那么每次重建时它们都会被覆盖。