我在我的应用程序中使用material-ui。我 fork 了 Material ui 并回滚到以前的版本并在那里做了一些更改,现在我想在我的项目中使用 fork 的存储库,因此我使用以下步骤从 here 安装模块:
- 前往
fork
页面 - 转到
提交
- 在您要使用的
提交
右侧,点击浏览代码
- 在浏览代码页上右键单击
下载 ZIP
按钮(或您看到的任何内容)并复制 .应该是这样的
- 编辑该网址,将
archive
替换为tarball
并删除.zip
扩展名。你最终应该得到类似的东西
https://github.com/SoftwareMarbles/express-jsend/tarball/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d
- 将其粘贴到您的 package.json 中而不是版本中。像这样:
"express-jsend": "url/from/step/5"
npm install
成功运行,没有出现任何错误,但它不会编译 src
中的 js
文件并将它们放入 lib 中与我在 package.json 中使用以下代码运行 npm install 时的
文件夹相比
“material-ui”:“0.14.4”
所以我的问题:
为什么 npm 不编译 src 文件并将它们放入 lib 文件夹中?
最佳答案
直接指向你的callemall/material-ui fork 的原因repo 不起作用的原因是该 repo 根目录中的包仅用于构建发布到 npm 的material-ui 包。注意 root package.json 中的名称是“material-ui-build”——而不是“material-ui”。
实际的material-ui包是通过在存储库的根目录中运行npm run build
来创建的。这会将 Material-ui 包写入存储库根目录的 build
子目录。
如果您想在 package.json
的依赖项部分中指向 Material-ui 的 github 分支,您可以创建一个包含 build
内容的新存储库code> 子目录并将您的 package.json
指向新的存储库(很麻烦)。像这样:
git clone <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6e09071a2e09071a061b0c400d0103" rel="noreferrer noopener nofollow">[email protected]</a>: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
子目录。
关于git - npm install 未将 fork 的material-ui src 编译到lib 文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36447478/