多项目解决方案中文件路径符号引用错误问题咨询
解决脚本引用路径错误问题
你当前用~/作为路径前缀,它会指向主项目的根目录,所以才会加载主项目里的site.js(标注2)。可以用以下几种方法修正:
用相对路径定位目标文件:根据IndexJson.cshtml和目标site.js(标注1)的实际目录结构调整路径。比如如果目标js在当前项目的
js文件夹下,改成:<script src="./js/site.js"></script>如果是上级目录的js文件夹,就用
../js/site.js,灵活调整层级。明确指定目标项目的绝对路径:如果是多项目解决方案,给目标项目设置好虚拟目录后,直接写完整路径,比如目标项目虚拟路径是
/SubProject,就改成:<script src="/SubProject/js/site.js"></script>修改文件名避免冲突:直接把标注1的site.js改个独有的名字,比如
sub-site.js,然后引用改成:<script src="~/js/sub-site.js"></script>这种方法最直接,不用纠结路径问题。
配置静态文件路由:在目标项目的Startup.cs里配置静态文件的自定义路由,比如:
app.UseStaticFiles(new StaticFileOptions { RequestPath = "/sub-js" });之后引用就可以写成:
<script src="/sub-js/site.js"></script>
内容的提问来源于stack exchange,提问作者pikk
相关产品推荐
相关产品推荐

