Twitter bootstrap 如何处理通过npm安装的引导程序?

Twitter bootstrap 如何处理通过npm安装的引导程序?,twitter-bootstrap,gruntjs,npm,Twitter Bootstrap,Gruntjs,Npm,假设我跑了 $ npm install bootstrap --save 现在,在node\u modules文件夹中,有一个bootstrap文件夹,其中包含一个bootstrap发行版。我该拿它怎么办 以下是我的项目的(简化)结构,一个用于撰写博客文章的模板(): 我可以做类似的事情 $ cp node_modules/bootstrap/dist/css/bootstrap.css css 但这看起来相当不公平,而且这是一个手动步骤,我不想记住去做。我可以通过使用grunt contr

假设我跑了

$ npm install bootstrap --save
现在,在
node\u modules
文件夹中,有一个
bootstrap
文件夹,其中包含一个bootstrap发行版。我该拿它怎么办

以下是我的项目的(简化)结构,一个用于撰写博客文章的模板():

我可以做类似的事情

$ cp node_modules/bootstrap/dist/css/bootstrap.css css
但这看起来相当不公平,而且这是一个手动步骤,我不想记住去做。我可以通过使用
grunt contrib copy
Gruntfile.js
中创建一些任务来修复后者,但这看起来像是一种黑客行为


有更好的方法吗?

由于它的扁平树依赖性,您应该改用bower,npm是用于服务器端的。此外,您不必更改位置模块,直接将您的bower_组件/bootstrap/dist/css/bootstrap.css链接到您的项目

bower install --save bootstrap

我不确定我是否理解关于“平面树依赖关系”的要点。是否需要进一步扩展?这意味着如果您的两个或多个模块具有相同的依赖关系,bower将为所有这些模块共享此依赖关系。对于模块大小很重要的客户端来说,这很好,但对于服务器端来说则不然。总结一下,服务器端模块使用npm,客户端模块使用bower。下面是一幅图片来说明我的话:还有一个堆栈溢出主题,关于我实现了您的解决方案,然后返回并从
node\u modules
目录()加载引导。在我看来,添加一个新的包管理器来管理单个组件似乎有些过分。
bower install --save bootstrap