【问题标题】:Referencing resources in node_modules folder引用 node_modules 文件夹中的资源
【发布时间】:2015-03-06 23:21:42
【问题描述】:

我目前正在编写我的第一个 Node.js 应用程序。我最近通过 npm(按照bootstrap's web site 上的说明)安装了引导程序,并且想知道引用 bootstap.min.css(和其他感兴趣的文件)的“标准”方式。最好使用 grunt/gulp 将我需要的资源复制(捆绑和缩小)到我的项目结构中?

任何帮助将不胜感激。

【问题讨论】:

    标签: css node.js twitter-bootstrap node-modules


    【解决方案1】:

    我可以通过一个简单的 Grunt 任务复制 node_modules 引导资源:

    copy: {
        bootstrapSrcCss: {
          src: "./node_modules/bootstrap/dist/css/bootstrap.css",
          dest: "./public/src/css/bootstrap.css"
        },
        bootstrapSrcJs: {
          src: "./node_modules/bootstrap/dist/js/bootstrap.js",
          dest: "./public/src/js/bootstrap.js"
        }
    }
    

    使用 grunt 插件:grunt-contrib-copy

    【讨论】:

      【解决方案2】:

      正如This Blog Post 中所述,您可以创建“静态路由”而不是完全公开 node_modules 结构。

      app.use('/scripts', express.static(__dirname + '/node_modules/bootstrap/dist/'));
      

      但这可能不是最好的方法。似乎带有资源的包也带有 Grunt 文件。

      【讨论】:

      • 您的链接已失效。
      • 这将公开一个未知的文件集合 - 一个未知文件的集合,随着库版本的向前发展,这些文件将以不可预知的方式发生变化。在这个确切的引导示例中,这是一个低安全风险,但仍然存在风险,并且随着您将这种模式与越来越多的库一起使用,风险更大。
      猜你喜欢
      • 2016-08-14
      • 2015-05-02
      • 2013-11-05
      • 2010-10-09
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      相关资源
      最近更新 更多