【问题标题】:Setting up git npm dependency for debugging设置 git npm 依赖以进行调试
【发布时间】:2019-04-18 00:17:22
【问题描述】:

第一次尝试这样做,所以不太确定我在做什么或如何设置它。

我需要调试我在应用程序中使用的库。最初,我使用npm install @react-pdf/renderer 安装它。这不适用于调试,我遇到了这个答案,描述了如果您需要对其进行修改,如何处理依赖项:

https://stackoverflow.com/a/13302095/3123109

所以现在我正在做npm install https://github.com/diegomura/react-pdf/tarball/master,它将回购的副本放入我的node_modules

我的印象是这样做之后它会“正常工作”。当然没那么简单……


我的尝试

  1. 我的应用程序上运行了 NPM。出现的第一个错误是 Module not found: Error: Can't resolve '@react-pdf/renderer' 在我包含它的组件中。好的,所以将我的import 更新为以下内容以查看库的index.jsimport { Document } from '@react-pdf/renderer/src

  2. 清除该消息。现在我明白了:

    ERROR in /mnt/c/Users/User/projects/current/client/node_modules/@react-pdf/renderer/src/elements/Page.js 11:22
    Module parse failed: Unexpected token (11:22)
    You may need an appropriate loader to handle this file type.
    |
    | class Page extends Base {
    >   static defaultProps = {
    |     size: 'A4',
    |     orientation: 'portrait',
    @ /mnt/c/Users/User/projects/current/client/node_modules/@react-pdf/renderer/src/elements/index.js 3:0-26 13:8-12
    @ /mnt/c/Users/User/projects/current/client/node_modules/@react-pdf/renderer/src/index.js
    

调查了一下,好像是babel-preset-stage-0 问题:

https://stackoverflow.com/a/41412906/3123109

好的,我将它添加到@react-pdf/renderer 中的.babelrc,因为它丢失了。同样的问题。

  1. 我想我需要将它添加到我的 .babelrc 中,这也需要执行 npm install --save-dev babel-preset-stage-0(即使我没有在我的应用程序中使用它,但无论如何)。得到这个错误:

    ERROR in ../react/index.jsx
    Module build failed (from /mnt/c/Users/User/projects/current/client/node_modules/babel-loader/lib/index.js):
    Error: Plugin/Preset files are not allowed to export objects, only functions.
    

显然与将 Babel 6 与 Babel 7 混合有关,前者与 stage-0 相关,后者是我在我的应用程序中使用的。

https://stackoverflow.com/a/49183337/3123109

好的,显然是一个依赖问题,鉴于我以前从未这样做过,我不确定如何解决。话虽如此,当我执行npm install https://github.com/diegomura/react-pdf/tarball/master 时,它确实在node_module 中为@react-pdf/renderer 安装了依赖项。


问题

  1. 我是否需要安装 @react-pdf/renderer 的依赖项,即使它们看起来是使用 npm install https://github.com/diegomura/react-pdf/tarball/master 安装的?

  2. 如果有,在哪里?是否需要将依赖项添加到我的应用程序(通过将它们添加到我的package.json)或通过该目录中的npm installnode_modules/@react-pdf/renderer 目录中?

  3. 除了为我的应用程序运行 npm run ... --watch 之外,我还需要为 @react-pdf/renderer 运行它吗?

  4. 或者,我是否只需要为@react-pdf/renderer 获取已编译的 JS 文件,将它们读入我的应用程序,然后在需要进行更改时重新编译 JS?

【问题讨论】:

    标签: javascript node.js git npm webpack


    【解决方案1】:

    好吧,@react-pdf/renderer 的开发者帮我设置了。他建议的方式是使用yarn,因为我确信有几种方法可以做到这一点:

    1. 将 react-pdf 存储库克隆到单独的文件夹中
    2. 在 react-pdf 目录中运行 yarn install
    3. 在 react-pdf 目录中运行 yarn link。这会将库链接到您的本地版本
    4. 在 react-pdf 目录中运行 yarn watch。这将监视文件更改并每次重新捆绑
    5. 在您的项目中运行 yarn link "@react-pdf/renderer" 以使用本地包

    我想用“npm”替换“yarn”会起作用,但还没有测试过。

    你每天都会学到一些新东西......

    【讨论】:

      猜你喜欢
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 2017-10-01
      • 2010-12-08
      相关资源
      最近更新 更多