我正在设置配置以在create-react-app + typescript应用程序(我从中弹出)中运行测试。我正在使用笑话+酶。我在tsconfig.json中进行了设置,baseUrl='./src'以便在导入模块时可以使用绝对路径。例如,这是我的一个文件中的典型import语句:
import LayoutFlexBoxItem from 'framework/components/ui/LayoutFlexBoxItem';
Run Code Online (Sandbox Code Playgroud)
您可以看到该路径是绝对路径(来自/ src文件夹),而不是相对路径。当我在调试模式(yarn start)中运行时,效果很好
但是当我运行测试(yarn test)时,出现以下错误:
Cannot find module 'framework/components/Navigation' from 'index.tsx'
Run Code Online (Sandbox Code Playgroud)
因此,尽管我在tsconfig.json中进行了设置,但看起来jest无法解析此绝对路径。这是我的tsconfig.json:
{
"compilerOptions": {
"outDir": "dist",
"module": "esnext",
"target": "es5",
"lib": ["es6", "dom"],
"sourceMap": true,
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"rootDir": "src",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": true,
"baseUrl": "./src"
},
"exclude": [
"node_modules",
"build",
"dist",
"config",
"scripts",
"acceptance-tests",
"webpack",
"jest",
"src/setupTests.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以看到 …
absolute-path typescript jestjs visual-studio-code create-react-app
我正在编写一个VB.NET控制台应用程序,它采用相对路径并吐出所有文件名,或者输出无效错误.我无法从相对路径获取PhysicalPath
例:
我在文件夹中 C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin\Debug
我的应用程序SP.exe也在同一个文件夹中.
我跑:"SP.exe ..\".输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin"
我跑:"SP.exe ..\\..\".输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"
我跑:"SP.exe ..\\..\\..\".输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol"
目前我正在处理一个相对路径,但不再:
If Source.IndexOf("..\") = 0 Then
Dim Sibling As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString()())
Source = Source.Replace("..\", Sibling)
End If
Run Code Online (Sandbox Code Playgroud)
我怎样才能轻松处理多个..\?
我问,因为我正在为学校做项目.是的,这是功课.但是,我试图更多地了解它.
这是被问到的一个例子.
•当用户单击"保存"按钮时,将所选记录写入txtFilePath中指定的文件(绝对路径不相对),而不截断当前内部的值.
这就是我的意思,
private void button2_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamWriter myWriter = new StreamWriter(saveFileDialog1.FileName);
myWriter.Write(txtFilePath.Text);
myWriter.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我不明白我是否做得对.我知道当我将它保存到我的桌面并从列表框中删除它时,当我再次尝试重新加载时,没有任何显示.这就是我的表格,
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader myReader = new StreamReader(openFileDialog1.FileName);
txtFilePath.Text = openFileDialog1.FileName;
txtFilePath.Text = myReader.ReadToEnd();
myReader.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是负载,
private void Form1_Load(object sender, EventArgs e)
{
string[] myFiles = Directory.GetFiles("C:\\");
foreach (string filename in myFiles)
{
FileInfo file = new FileInfo(filename);
employeeList.Items.Add(file.Name);
}
//...
Run Code Online (Sandbox Code Playgroud)
有人可以帮我理解这个吗?
嗨,我正在使用 Flask 和 Sqlite3 构建一个 Web 应用程序。有一段时间我在连接数据库时遇到问题,但在我写这个时它不起作用:
#version 1
app.config['SQLALCHEMY_DATABASE_URI'] =
'sqlite:////C:/Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'
Run Code Online (Sandbox Code Playgroud)
Python给了我操作错误:无法打开数据库,因为我在冒号后写了4个斜线。在阅读了 sqlalchemy 文档并进行了多次试验后,我发现这有效:
#with 3 slashes, version 2
app.config['SQLALCHEMY_DATABASE_URI'] =
'sqlite:///C:/Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'
Run Code Online (Sandbox Code Playgroud)
或者这个有 4 个斜线但没有 C:
#version 3
app.config['SQLALCHEMY_DATABASE_URI'] =
'sqlite:////Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为基于连接字符串的文档:SQLite 数据库的文件规范被视为 URL 的“数据库”部分。请注意,SQLAlchemy 网址的格式为:
driver://user:pass@host/database
Run Code Online (Sandbox Code Playgroud)
这意味着要使用的实际文件名以第三个斜杠右侧的字符开头。所以连接到相对文件路径看起来像:
# relative path
e = create_engine('sqlite:///path/to/database.db')
Run Code Online (Sandbox Code Playgroud)
以斜杠开头的绝对路径意味着您需要四个斜杠:
# absolute path
e = create_engine('sqlite:////path/to/database.db')
Run Code Online (Sandbox Code Playgroud)
所以根据this,如果我使用绝对路径,我需要4个斜杠,但是当我用版本1这样做时,python给了我错误。当我在版本 2 中使用 3 个斜杠作为绝对路径时,它起作用了。
所以我真的很困惑。谁能为我解释为什么?我真的很感激。谢谢
用Qt创建dir有问题.我想在文档中创建一个目录,所以,我做了一些类似的事情:
QString path("C:/Users/Me/Documents/MyApp/profiles/");
Qdir dir = QDir::root();
dir.mkdir(path);
Run Code Online (Sandbox Code Playgroud)
但这不起作用!我用"/"和"\"测试分隔符,但在两种情况下不起作用.
我怎么能创造我的目录?
谢谢.
我有一个在WampServer上运行本地的项目.这是一个类似MVC的结构; 它将URL重写为index.php?url=$1.完整.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)
当我想使用PHP将用户发送到另一个页面location: <location>时,由于重写,所以不能正确地执行此操作(尽管我在技术上总是处于这种状态index.php).
例如,如果我打开http://localhost/project_name/controller/method/并且此控制器的构造函数或方法试图将我发送到:
header('location: another_controller/method'); 送我去
http://localhost/project_name/controller/method/another_controller/method/header('location: /another_controller/method'); 送我去
http://localhost/another_controller/method/但我希望它像这样发送给我:
header('location: /another_controller/method'); 送我去
http://localhost/project_name/another_controller/method/现在我找到的唯一解决方案是:
define('BASE_URL','http://localhost/project_name');
header('location: '.BASE_URL.'/another_controller/method/');
Run Code Online (Sandbox Code Playgroud)
但这并不完美,因为它会导致我必须BASE_URL在域名或文件夹名称发生变化时更改此定义的常量.我也可以创建一个BaseController创建绝对URL的方法,但这种方法基本上也只是前置BASE_URL.
注意: HTML src和href属性不会出现同样的问题,它可以使用相对路径(路径中没有project_name文件夹).但是,我不明白为什么.因为如果标头location导致浏览器将相对URL附加到当前位置,为什么在查找.css或.js文件时它没有相同的行为.
所以......这为我提出了几个问题:
src和href属性不共享此行为?我有一个 Spring boot API 服务,其他网站和移动应用程序调用此 API 来获取数据和图像。图像存储在文件系统中,文件路径存储在数据库中。我正在寻找在 API 响应中返回图像 URL 的最佳实践。
示例数据库记录
+-----+-------+-----------------+
| Id | Name | profile_img_url |
+-----+-------+-----------------+
| 1 | John | /image/john.jpg |
| 2 | Jane | /image/jane.jpg |
| 3 | Doe | /image/doe.jpg |
+-----+-------+-----------------+
Run Code Online (Sandbox Code Playgroud)
例如我有一个会员API。
https://example.com/get/member/id
Run Code Online (Sandbox Code Playgroud)
该API将返回JSON,其中包含会员图像URL
我应该返回 profile_img_url 作为绝对 URL 还是相对 URL
这是我的想法
带相对 URL 的响应
{
"name" : "John",
"profile_img_url": "/image/john.jpg",
}
Run Code Online (Sandbox Code Playgroud)
使用绝对 URL 进行响应
{
"name" : "John",
"profile_img_url": "https://example.com/image/john.jpg",
}
Run Code Online (Sandbox Code Playgroud)
在我的 API 中,我需要查找主机名并连接每个请求的文件路径,从而导致 API …
是否有(兼容的,如果可能的话)确定加载类的绝对路径的方法?
当然,这并不总是可行的(如果你想到动态创建的类),但如果加载的Class在jar中,如何获取这个jar的绝对路径?
我在使用XCode 4中的所有文件位置路径时遇到问题.
我有多个infoPlist.strings和CustomLocalizable.strings(针对不同的语言)组合在一起(XCode会自动执行此操作).查看文件检查器(查看>>实用程序>>显示文件检查器)以查找这些文件(默认语言的英语除外),位置为"绝对路径".
问题是文件检查器中这些文件的位置下拉菜单显示为灰色,已禁用.这使我无法将文件位置从绝对路径更改为相对路径描述.
我需要做什么才能使组中文件的所有路径位置相对?
我已经尝试将文件组的路径位置更改为,例如,"相对于组"或"相对于项目".对于组我也设置了相对路径,点击文件检查器中的位置下拉列表中的小图标.
我一直在寻找一段时间的解决方案,并感谢有人能帮助我回答上述问题.
谢谢!
给定一个绝对Uri和相对Uri或相对路径,你如何获得绝对的Uri指向相对位置?
例如,假设我们有Urifor file:///android_asset/dir,指向我们资产中的某个位置.进一步假设在其他地方,我们有一个相对的路径/foo.该Uri相对路径的绝对值应为file:///android_asset/foo.UriAndroid SDK中有什么东西,或者其他地方,我缺少那些给我的结果Uri吗?
Uri.withAppendedPath() 不是答案,因为它似乎只是处理尾随目录分隔符:
Uri abs=Uri.parse("file:///android_asset/");
Uri rel=Uri.withAppendedPath(abs, "/foo");
Assert.assertEquals("file:///android_asset/foo", rel.toString());
// actually returns file:///android_asset//foo
Uri abs2=Uri.parse("file:///android_asset/dir");
Uri rel2=Uri.withAppendedPath(abs2, "/foo");
Assert.assertEquals("file:///android_asset/foo", rel2.toString());
// actually returns file:///android_asset/dir//foo
Run Code Online (Sandbox Code Playgroud)
Uri.Builder通过buildUpon()上Uri,是不是有所改善:
Uri rel3=abs.buildUpon().appendPath("/foo").build();
Assert.assertEquals("file:///android_asset/foo", rel3.toString());
// actually returns file:///android_asset/%2Ffoo
Uri rel4=abs.buildUpon().appendEncodedPath("/foo").build();
Assert.assertEquals("file:///android_asset/foo", rel4.toString());
// actually returns file:///android_asset//foo
Run Code Online (Sandbox Code Playgroud)
在一个紧要关头,我可以尝试使用java.net.URL它的URL(URL context, String spec)构造函数,或者只是为它滚动一些代码,但我希望尽可能保持Android Uri值的范围,只是为了任何怪癖区分URL …
absolute-path ×10
path ×2
.htaccess ×1
.net ×1
android ×1
api ×1
assets ×1
c# ×1
classloader ×1
directory ×1
filepath ×1
jar ×1
java ×1
jestjs ×1
json ×1
mkdir ×1
mod-rewrite ×1
php ×1
python ×1
qt ×1
reflection ×1
sqlite ×1
typescript ×1
uri ×1
xcode4 ×1