我正在尝试使用browserify获取咖啡脚本项目的依赖树。
似乎该项目带有从命令行打印依赖关系树的选项browserify -t coffeeify --deps ./script.coffee
,使用
脚本.coffee
console.log 'hello'
require 'a.coffee'
因错误而爆炸(为简洁而编辑):
... 意外令牌非法 在 parseDeps (/.../module-deps/index.js:172:45) 完成后(/.../browserify/node_modules/module-deps/index.js:152:13) 在 applyTransforms (/.../browserify/node_modules/module-deps/index.js:135:41) 在 /.../browserify/node_modules/module-deps/index.js:112:17 在 fs.js:266:14 在 Object.oncomplete (fs.js:107:15)
理想情况下,我希望通过使用 browserify API 来自动创建依赖树,但目前尚不清楚如何实现这一点。
从module-deps开始向后工作似乎是合理的,但显然它旨在遍历咖啡脚本项目的依赖关系树。但是,我没有相关的 GitHub 拉取请求。鉴于此,我希望transform
在 browserify 已经将其从咖啡脚本转换为 javascript 之后,注入一个 browserify 并读取每个文件的依赖项,但是 module-deps 似乎只接受文件名而不是 javascript 源本身。类似于以下内容:
require('browserify')
.add('./script.coffee')
.transform(require('coffeeify')
.transform((file) ->
data = ''
write = (buf) -> data += buf
end = ->
## parse data for dependencies.
console.log "File ", file, "dependencies", mdeps(data)
@queue(data)
@queue(null)
return through(write, end)
)
这不起作用,因为mdeps
据我所知该功能不存在。我希望它会涉及使用其中一个解析器(esprima 等)来查找require
调用。
有没有人使用 browserify 完成打印咖啡脚本依赖树?看起来它会非常有用,如果还没有人使用它,我会感到惊讶。