【问题标题】:NodeJS with Express Framework - relative path to js script带有 Express 框架的 NodeJS - js 脚本的相对路径
【发布时间】:2015-06-23 04:25:35
【问题描述】:

我使用 Express 生成器来创建节点应用程序。目录结构如下:

.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── node_modules
│   └── jquery
│       └── dist
|            |___jquery.min.js
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

在我的 index.jade 文件中,我尝试从 node_modules 重用 jquery.min.js,而不是使用 url 到 web 源:

    doctype html
html
 head
 link(rel='stylesheet', href= '/stylesheets/style_monit.css')

body
 #container
  .row
   .col-sm-4(style='background-color:lavender;') .col-sm-4
   .col-sm-4(style='background-color:lavenderblush;') .col-sm-4     
   .col-sm-4(style='background-color:lavender;') .col-sm-4
   .col-md-4
    textarea#inData.form-control(style='background:#222; color:#00ff00;', rows='8')
 script(type='text/javascript' src='../node_modules/jquery/dist/jquery.min.js')

css 文件加载很好,但在 Chrome 控制台中我有错误

获取http://localhost:3000/node_modules/jquery/dist/jquery.min.js 没有找到

【问题讨论】:

    标签: javascript jquery node.js express


    【解决方案1】:

    我认为问题在于 node_modules 目录是私有的,不应该暴露给客户端。只能提供公共目录中的静态文件。请参阅this Stack Overflow answer 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2019-02-23
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多