我正在尝试使用TypeScript重写我的一个项目,因为我对TypeScript和RequireJS很新,我不确定我缺少什么.
我遵循了本指南Karma - RequireJS并仔细检查了所有内容,但我还没有设法让它至少不是RequireJS.
PS我得到的错误是在帖子的最后.
我正在为这个项目使用的目录结构如下:
.
|-- WebEssentials-Settings.json
|-- build
|-- jake.sh
|-- jakefile.js
|-- node_modules
| |-- chai
| | |-- CONTRIBUTING.md
| | |-- History.md
| | |-- README.md
| | |-- ReleaseNotes.md
| | |-- bower.json
| | |-- chai.js
| | |-- index.js
| | |-- karma.conf.js
| | |-- karma.sauce.js
| | |-- lib
| | |-- node_modules
| | |-- package.json
| | `-- sauce.browsers.js
| |-- jake
| | |-- …Run Code Online (Sandbox Code Playgroud) 我想获取执行脚本的当前目录,而不是脚本的当前执行目录。
该脚本位于 'd:\projects\code\development.tools' 中,我想要位于 'd:\projects\code\development\ace\ace.testing' 中的项目目录
现在,当我在 Psake Properties 之外执行“Write-Host $Env:PWD”或“$Env:PWD”时,我实际上得到了我想要的东西,但是当我尝试从 Properties 中获取它时,它会返回什么$PWD 返回,这是脚本的执行目录。
Write-Host $Env:PWD # returns d:\projects\code\development\ace\ace.testing
Properties {
$baseDir = $Env:PWD # returns d:\projects\code\development\.tools
}
Run Code Online (Sandbox Code Playgroud)
我不确定这里发生了什么,但我无法弄清楚。
我试图将正确的路径存储在一个变量中,但它并没有真正起作用。
更新:
花了几个小时后,我意识到它确实有效!我正在断断续续地编写该脚本,并在某处放置了一个 throw 语句,却忘记了它在那里!所以我认为 Psake 正在做一些奇怪的事情,因此它不起作用,但是 Psake 是纯粹的!;)
因此,如果您想获取正在执行脚本的当前目录 $Env:PWD 似乎可以做到!:)
我正在开发一个 Blazor 项目,并尝试将其中一个 JavaScript 文件移动到类库,我已阅读以下指南:
我收到以下错误:
我不确定我缺少什么或者我需要做什么才能让它工作,所以这是我的设置:
事实:
.NET 6。Version 17.0 Preview (17.0 build 8754)。LinkScreen。Client.Web。LinkScreen.Client.Web。LinkScreen.Client.Web。Client.BrowserInterop。LinkScreen.Client.BrowserInterop。LinkScreen.Client.BrowserInterop。项目结构及代码
screen-capture.js在以下目录下调用的脚本文件wwwroot\scripts,如下所示:其构建操作设置为“内容”,并将复制到输出目录设置为“不复制”。
ScreenCapture,它包装了 JavaScript 模块,screen-capture.js并返回引用,如下所示:public static async ValueTask<ScreenCapture> CreateAsync(
IJSRuntime jsRuntime,
ElementReference videoTagReference)
{
var jsModuleRef …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用定制的假对象,这些对象在幕后使用 NSubstitute 创建实际对象,但随着项目的发展,它变得非常难以维护,所以我正在尝试寻找替代方案,我希望 AutoFixture 是适合这项工作的工具。
我阅读了文档,但我很挣扎,因为文档很少甚至没有,而且我阅读了 Mark Seemann 的大部分博客文章,包括 CheatSheet。
我很难掌握的一件事是如何使用带有参数的构造函数创建一个对象,在我的例子中,我需要将参数传递给 CsEmbeddedRazorViewEngine 以及将 HttpRequestBase 传递给 ControllerContext。
我的看法是,我需要创建一个假对象,最后创建一个将它们注入到的自定义对象
我还研究了 NBuilder,在那里传递参数似乎稍微微不足道,但我听说过有关 AutoFixture 的好消息,我想尝试一下。:)
我正在尝试减少假物体的数量,所以这是一个真正的测试,我如何使用 AutoFixture 做同样的事情?
[Theory,
InlineData("en-US"),
InlineData("en-us"),
InlineData("en")]
public void Should_return_the_default_path_of_the_view_for_enUS(string language)
{
// Arrange
const string EXPECTED_VIEW_PATH = "~/MyAssemblyName/Views/Home/Index.cshtml";
CsEmbeddedRazorViewEngine engine = CsEmbeddedRazorViewEngineFactory.Create(ASSEMBLY_NAME, VIEW_PATH, string.Empty);
string[] userLanguage = { language };
HttpRequestBase request = FakeHttpRequestFactory.Create(userLanguage);
ControllerContext controllerContext = FakeControllerContextFactory.Create(request);
// Act
ViewEngineResult result = engine.FindPartialView(controllerContext, VIEW_NAME, false);
// Assert
RazorView razorView = (RazorView)result.View;
string actualViewPath = razorView.ViewPath;
actualViewPath.Should().Be(EXPECTED_VIEW_PATH);
} …Run Code Online (Sandbox Code Playgroud) asp.net-core ×1
autofixture ×1
blazor ×1
c# ×1
javascript ×1
karma-runner ×1
powershell ×1
psake ×1
requirejs ×1
typescript ×1