crystal-lang - Crystal 模块路径需要问题
问题描述
这是我的第一篇文章,所以请原谅简洁。我正在学习水晶并尝试包含一个与另一个路径中的另一个文件具有共享名称的文件。根据文档,我可以使用require "path/to/modules/"
并包含其中的所有文件,但是当我这样做时,我然后使用导入的类,它告诉我该类不存在......
文档中的任何内容似乎都不起作用。是否需要一些插件模块才能使路径正常工作,还是我误解了某些东西,或者我有一些语法错误?
这是我的代码(使用主页上的示例)
require "http/server"
require "modules/HttpRequest"
server = HTTP::Server.new do |context|
context.response.print(request.result)
end
server.listen(80)
并且文件HttpRequest.cr
在/modules/
.
我得到的错误
Error in Server.cr:2: while requiring "modules/HttpRequest": can't find file 'modules/HttpRequest'
If you're trying to require a shard:
- Did you remember to run `shards install`?
- Did you make sure you're running the compiler in the same directory as your shard.yml?
require "modules/HttpRequest"
^
解决方案
使用会根据需要的规则require "modules/HttpRequest"
查找modules/HttpRequest
。CRYSTAL_PATH
要要求相对于当前文件的文件,您需要使用require "./modules/HttpRequest"
.
推荐阅读
- java - 为什么这个方法总是返回 false?
- python - 如何在 Flask after_request 中访问请求上下文?
- c - 基于 nginx 前缀的位置处理实现的效率如何?
- datepicker - NGX-Bootstrap Datepicker当我在我的ipad上打开它时它没有在第一次点击时选择日期
- bash - 用 awk 迭代一些 thousend 文件并在一两次运行中写入相同的文件
- java - 编译 gremlin 遍历查询的响应
- c++ - 假想CPU解码指令
- python - 如何通过 OCR 将扫描的 PDF 转换为 Excel?
- json - Elasticsearch.NET (NEST) 在版本 7.x 中无法反序列化我的 POCO JSON
- laravel - 适用于 Windows 10 上 PHP 7.3 的 Apache Cassandra 驱动程序,带有 Laravel 5.8