【问题标题】:Include code from another module in DangerJS?在 DangerJS 中包含来自另一个模块的代码?
【发布时间】:2021-05-11 07:41:14
【问题描述】:

是否可以将来自另一个模块的代码包含到您的dangerfile.jsdangerfile.ts 中?具体来说,我的意思是您的代码,而不是 package.json 中定义的某些依赖项。

我在 JS 和 TS 中尝试了几种不同风格的 include/require ,但无法正常工作。

例如我如何尝试导入它(愚蠢的命名以使其更清晰,并且我尝试使用 import 而不是 require):

const myDangerLib = require('./danger/lib');

我不断收到这样的错误:

Unable to evaluate the Dangerfile
7
 ReferenceError: myDangerLib is not defined
8
    at Object.<anonymous> (dangerfile.ts:6:11)

奇怪的是,从我正在使用的 GitHub Action 的docker run 命令输出来看,就像整个 repo 已安装到容器中一样,所以我不知道为什么找不到我的 lib 文件。这是我的 GitHub 操作步骤:

      - name: Danger
        uses: danger/danger-js@9.1.8
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

任何想法为什么这不起作用?还是不能用 DangerJS 包含来自另一个模块的代码?

谢谢

【问题讨论】:

    标签: node.js danger


    【解决方案1】:

    你可以导入本地文件,但最好不要导入“危险”。

    您好,您似乎正在尝试导入危险模块。原来 你在 Dangerfile.js 中编写的代码实际上有点偷偷摸摸。

    运行 Danger 时,Danger 的 import 或 require 在代码之前被移除 被评估。相反,所有导入都添加到全局运行时,所以如果 您正在导入 Danger 以使用它的功能之一 - 您应该改为 对根 DSL 元素使用全局对象。

    这里有一个频谱线程供讨论:

    您可以直接使用暴露的api来避免危险,例如messagefailwarn

    【讨论】:

      猜你喜欢
      • 2020-04-17
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 1970-01-01
      相关资源
      最近更新 更多