2016-04-06 37 views
1

我在我的应用程序中使用了material-ui。我叉形材料UI和回滚到透水版本,做了一些改动那里,现在我想用叉式回购在我的项目,所以我用下面的步骤从here安装模块:npm安装没有编译分叉的材料ui src到lib文件夹中

  1. 转到fork's
  2. 页在 Download ZIP按钮(或者不管它是什么,你所看到的)和复制
  3. 转到commits
  4. 在您要使用点击Browse code
  5. 在浏览代码页commit右侧单击鼠标右键。应该是这样的

https://github.com/SoftwareMarbles/express-jsend/archive/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d.zip

  • 编辑该URL与tarball替换archive并除去.zip扩展。你应该这样落得像
  • https://github.com/SoftwareMarbles/express-jsend/tarball/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d

  • 粘贴到您的package.json代替的版本。就像这样:
  • "express-jsend": "url/from/step/5"

    npm install成功运行而无须给予任何错误,但它不会编译js文件src,并把他们lib文件夹作为比较,当我运行NPM与下面的代码安装我的package.json

    "material-ui": "0.14.4"

    所以我的问题:

    为什么npm不编译src文件并将它们放在lib文件夹中?

    回答

    0

    直接指向您的callemall/material-ui回购不起作用的叉的原因是包在回购的根源是只为建设材料的UI包被发布到NPM。请注意,root package.json中的名称是“material-ui-build” - 而不是“material-ui”。

    通过在回购的根目录中运行npm run build创建实际的material-ui包。这将material-ui包写入回购根目录的build子目录。

    如果你想指向你的package.json的依赖关系部分材料的UI您github上叉,你可以创建一个包含build子目录的内容的新的回购协议,并透过package.json到新的回购协议(繁琐)。就像这样:

    git clone [email protected]:callemall/material-ui.git material-ui 
    cd material-ui 
    npm install 
    npm run build 
    cp -Tr build ../material-ui-package 
    cd ../material-ui-package 
    git init . 
    git add . 
    git commit -m ... 
    

    来指向自定义的github回购将发布范围的包NPM(我从来没有做过这个)的替代品。或者,如果您只进行本地开发,则可以使用npm link将您的软件包指向material-ui/build子目录。