为啥 Bower 本身显示 0 依赖性?

Posted

技术标签:

【中文标题】为啥 Bower 本身显示 0 依赖性?【英文标题】:Whys does bower itself show 0 dependency?为什么 Bower 本身显示 0 依赖性? 【发布时间】:2020-01-04 06:04:10 【问题描述】:

在 npm 包搜索中,bower 显示 0 个依赖项。 https://www.npmjs.com/package/bower

但是,如果您使用 npm install bower 安装 bower。在 bower/lib 目录下会有 node_modules 目录,里面安装了一些其他的 npm 包。

bower 声称它具有 0 依赖项,因为它实际上使用了外部节点包,这是在作弊吗?

【问题讨论】:

不知道有没有作弊,但肯定是不正确的:github.com/bower/bower/blob/master/package.json#L17 【参考方案1】:

这都是关于 bower 模块中的 package.json 文件依赖项部分,如果他们提到任何其他模块,那么它将在 npm 站点中被视为依赖项,如果您检查 GitHub 存储库中的 bower Gruntfile.js 他们正在打包所有模型并删除来自 package.json 的依赖项

        delete jsonPackage.dependencies;
        delete jsonPackage.devDependencies;
        delete jsonPackage.scripts;

        fs.writeFileSync(
            path.resolve(dir, 'package.json'),
            JSON.stringify(jsonPackage, null, '  ') + '\n'
        );

        grunt.log.writeln('Moving node_modules to lib directory...');

        wrench.copyDirSyncRecursive(
            path.resolve(dir, 'node_modules'),
            path.resolve(dir, 'lib', 'node_modules')
        );

【讨论】:

以上是关于为啥 Bower 本身显示 0 依赖性?的主要内容,如果未能解决你的问题,请参考以下文章

bower ENORESTARGET 未找到标签问题

bower 安装依赖

为啥maven的pom.xml中插件本身没有声明flyway的数据库驱动依赖?

理解bower是如何管理依赖的

Grunt-injector 忽略来自 bower 依赖的 css 文件

如何安装并使用bower包依赖工具