我认为这应该是不费吹灰之力的,但它已经让我头疼了好几个小时。我有一个简单的 Razor 类库 (RCL),其中包含一个包含一些 JavaScript 的页面。
@page
@*...*@
<h1>Test Page</h1>
@section Scripts {
<script type="text/javascript" src="~/lib/somejs.js"></script>
<script type="text/javascript">
console.log("log something"); // works
let something = new SomeJS("hello World");
</script>
}
我还有一个_Layout.cshtml
包含@RenderSection("scripts", required: false)
以允许有条件地包含script
-tag。
包含给定的脚本,但尽管引用~/lib/somejs.js
了以下错误,但仍发生以下错误:
https://localhost:44385/lib/somejs.js net::ERR_ABORTED 404
所需的文件位于 RCL 的wwwroot/lib
文件夹中。在我看来,给定的路径是错误的,因为它期望文件位于实际 Web 项目中不存在的文件夹而不是 RCL 中。
如何从 RCL 中正确解析引用?理想情况下,使用它的项目不必费心手动包含它们。
编辑:即使插入 Visual Studio 建议的硬编码路径也不能解决问题,例如src="../../wwwroot/lib/some.js"
.