上下文:
node
安装依赖项的 npm install [pathToPackedTGZ]
项目。安装的模块混合了 javascript 和 typescript 模块,这些模块通过 webpack
使用 awesome-typescript-loader
处理。但我只是在npm pack
处理它,所以我认为这无关紧要。grunt
与 browserify
一起使用,并尝试从该依赖项导入类(打字稿)。为此,我添加了 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
选项的原因是如果没有它,我会在依赖模块中的 import
和 export
用法上出错。在我的版本中,我还指定了 only
只包含我的模块,而不包含其他节点模块。
我的.tsconfig
看起来像这样
{
"compilerOptions": {
"esModuleInterop": true,
"allowJs": true,
"target": "es5",
"checkJs": false,
"moduleResolution": "Node",
"types": [ "node" ]
}
}
我尝试了各种方法,例如添加 @types/node
、@babel/node
和其他修复,但主要问题是我可能不明白我要修复的究竟是什么(什么是我的错误做法导致了问题)。