当前位置: 首页 > 面试题库 >

node_modules中ExpressJS的脚本路径

墨高杰
2023-03-14
问题内容

我的“视图”文件夹中有一个index.jade。

doctype html
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/main.css')
    script(src='../node_modules/some_package/package_script.min.js')

我的路由器的routes文件夹中有index.js:

router.get('/', function(req, res) {
  res.render('index', { title: 'title goes here' })
});

尝试访问控制台的jade文件中的node_modules文件夹时,我始终收到404错误: GET /node_modules/some_package/package_script.min.js 404 1ms - 19b

尝试访问node_modules中的脚本时,文件路径到底如何工作/如何为Express修复它?我是否需要复制必要的javascript文件并将其放置在“
public”下的“ javascripts”文件夹下才能正常工作?

谢谢!


问题答案:

哇!保留… node_modules是一个私有目录,不应公开。默认情况下,该public目录是静态文件的公共根路径:

app.use(express.static(path.join(__dirname, 'public')));

在其中有一个javascripts目录。将脚本复制到此处,然后src将模板中的属性更改为:

/javascripts/package_script.min.js

如果您真的想服务node_modules,这不是一个好主意,请在上方app.use(express.static(...));一行下面添加以下内容:

app.use(express.static(path.join(__dirname, 'node_modules')));


 类似资料:
  • 问题内容: 有没有一种方法可以将应用程序中的node_modules目录移动到/ vendor / node_modules,例如bower对bowerrc文件的处理?我以为可以在package.json中指定它,但是我似乎找不到解决方案。非常感谢您的帮助。 问题答案: 是的,您可以,只需设置NODE_PATH env变量: 根据文档: 如果将环境变量NODE_PATH设置为用冒号分隔的绝对路径列

  • 这是我自己的USB驱动器上的程序文件夹: 我想使用启动 我不能使用这个:

  • 我有一个小难题来解决这个问题。 我有一个用户和一个管理员角色。 用户应该能够列出除管理员以外的所有用户。管理员可以列出所有用户。 我想到的第一个解决方案是检查控制器级别的角色: 但是我更想做的是在路线层面上,保持控制器更干净,但不知何故它确实起作用了。它只列出用户,即使我作为管理员登录。 有什么建议吗?谢谢!

  • 问题内容: 在CSS中,任何图像路径都相对于CSS文件位置。 f.ex如果我放入CSS文件并使用类似 浏览器将查找有意义的图像。 是否可以在javascript中做同样的事情? F.ex如果我包括以下代码并将其放在其中: 找不到图片,因为浏览器使用HTML文件作为起点,而不是脚本位置。我希望能够像CSS一样使用脚本位置作为起点。 这可能吗? 问题答案: 按照上面的方法在DOM中搜索您自己的标记是可

  • 问题内容: 我仍然想尝试使用w / Yeoman和Express运行示例。 我尝试了以下方法,但效果很好,但是我坚持合并路线。(为简化可读性而简化) 然后我在Gruntfile.js中将“ output:dist”更改为“ output:../../ public” 现在,两个服务器都可以独立运行(例如,yeoman服务器和节点app.js)。我现在也可以运行“ yeoman build”,以将缩

  • 问题内容: 我有一个关于纳入HTML网站的最佳做法的问题。 假设我的文件夹中有Bootstrap 。现在,对于网站的正式版,我将如何在文件夹内添加Bootstrap脚本和CSS文件?将Bootstrap保留在该文件夹中并执行以下操作是否有意义? 还是我必须在gulp文件中添加规则,然后将这些文件复制到dist文件夹中?还是最好让gulp从我的HTML文件中完全删除本地引导程序,然后将其替换为CDN