【问题标题】:What do I do with Bootstrap installed through npm?我如何处理通过 npm 安装的 Bootstrap?
【发布时间】:2014-11-29 00:09:12
【问题描述】:

假设我跑了

$ npm install bootstrap --save

现在我在 node_modules 文件夹内有一个 bootstrap 文件夹,其中包含一个 Bootstrap 分发包。我该怎么办?

这是我项目的(简化的)结构,用于撰写博客文章的模板 (https://github.com/jacquerie/portfolio-template):

.
├── Gruntfile.js
├── css
│   └── application.css
├── index.html
├── js
│   └── application.js
├── package.json
└── node_modules
    └── bootstrap

可以做类似的事情

$ cp node_modules/bootstrap/dist/css/bootstrap.css css

但这看起来相当不雅,这是一个我不想记住做的手动步骤。我可以修复后者,使用grunt-contrib-copyGruntfile.js 中创建一些任务来为我做这件事,但这看起来像是一个hack。

有没有更好的办法?

【问题讨论】:

    标签: twitter-bootstrap gruntjs npm


    【解决方案1】:

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

    bower install --save bootstrap
    

    【讨论】:

    • 我不确定我是否理解“平面树依赖关系”这一点。想进一步扩展吗?
    • 这意味着如果您的两个或多个模块具有相同的依赖关系,bower 将为所有这些模块共享此依赖关系。这对于模块大小很重要的客户端非常有用,但对于服务器端则不然。总结一下,使用 npm 作为服务器端模块,使用 bower 作为客户端模块。这是一张图片来说明我的话:upload.wikimedia.org/wikipedia/commons/f/f9/ECM_trees_1.png 还有一个关于该stackoverflow.com/questions/18641899/…的堆栈溢出主题@
    • 我实现了您的解决方案,然后返回并从 node_modules 目录 (github.com/jacquerie/portfolio-template/commit/…) 加载 Bootstrap。添加一个新的包管理器来管理单个组件对我来说似乎有点过头了。
    猜你喜欢
    • 2015-01-02
    • 2019-10-01
    • 2020-05-13
    • 2019-08-26
    • 2019-03-03
    • 2015-01-02
    • 2018-03-10
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多