带有 Express Framework 的 NodeJS - js 脚本的相对路径
NodeJS with Express Framework - relative path to js script
我使用 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
未找到
我认为问题在于 node_modules 目录是私有的,不应向客户端公开。只能提供 public 目录中的静态文件。有关详细信息,请参阅 this Stack Overflow answer。
我使用 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 未找到
我认为问题在于 node_modules 目录是私有的,不应向客户端公开。只能提供 public 目录中的静态文件。有关详细信息,请参阅 this Stack Overflow answer。