在已安装的依赖项中找不到全局

时间:2021-06-17 12:38:28

标签: javascript node.js typescript gruntjs browserify

上下文:

  • 我有一个通过 node 安装依赖项的 npm install [pathToPackedTGZ] 项目。安装的模块混合了 javascript 和 typescript 模块,这些模块通过 webpack 使用 awesome-typescript-loader 处理。但我只是在npm pack处理它,所以我认为这无关紧要。
  • 我遇到问题的项目是将 gruntbrowserify 一起使用,并尝试从该依赖项导入类(打字稿)。为此,我添加了 tsify 作为插件。
  • babelify 用作绕过 import export 错误的转换器。

这些是 browserify 选项(grunt build)

  browserifyOptions: {
                debug: true,
                plugin: [["tsify", {global: true}]],
                transform: [
                    ["babelify", {
                        "presets": ["@babel/preset-env"],
                        global: true
                    }]],
            }

错误是:

Can't walk dependency graph: ENOENT: no such file or directory, lstat '[localFolder]/process'
>>     required by [pathToDependencyModule]

因此该依赖项(也是我的,打包然后从 tgz 安装)使用 process

注意:我有这些 global 选项的原因是如果没有它,我会在依赖模块中的 importexport 用法上出错。在我的版本中,我还指定了 only 只包含我的模块,而不包含其他节点模块。

我的.tsconfig看起来像这样

{
  "compilerOptions": {
    "esModuleInterop": true,
    "allowJs": true,
    "target": "es5",
    "checkJs": false,
    "moduleResolution": "Node",
    "types": [ "node" ]
  }
}

我尝试了各种方法,例如添加 @types/node@babel/node 和其他修复,但主要问题是我可能不明白我要修复的究竟是什么(什么是我的错误做法导致了问题)。

0 个答案:

没有答案
相关问题