经过数小时未能将.net core 2.2与vue + vuetify结合使用后,我决定以某种方式分别构建Web API和客户端。
我使用以下配置使用Vue CLI构建客户端:
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? '/joblist/' : '/',
}
Run Code Online (Sandbox Code Playgroud)
然后将dist文件wwwroot夹的内容放置到.net核心项目上的文件夹中,我使用以下代码启用UseStaticFiles:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)
当我将APP URL设置为进行调试时,一切看起来都很完美http://localhost:49602/joblist。但不知何故,当我发布到我的服务器,它是myserver/joblist,服务器无法满足一切放在里面wwwroot/css的文件夹,使网站看起来丑陋。
起初,我以为问题是wwwroot路径之类的,但是我可以wwwroot/js完美浏览到文件夹,因此我尝试将wwwroot/css文件夹重命名为wwwroot/notcss,这次站点可以正常运行。
有人可以帮我解决这个问题吗?
更新:
wwwroot/css和wwwroot/js是完全存在于服务器上。wwwroot/js夹内的任何文件,但 …我可以有 kotlin 扩展函数来做这样的事情吗:
// extension
inline fun <T : Any> T?.runIfNotNull(function: (T) -> Unit) {
this?.let { function(it) }
}
// some function
fun doSomething(int: Int){
// do something
}
// doSomething will be called with maybeNullInt as argument,
// when maybeNullInt is not null
maybeNullInt?.runIfNotNull { doSomething }
Run Code Online (Sandbox Code Playgroud)
基本上,我想要的是替换
maybeNullInt?.let{ doSomething(it) }
Run Code Online (Sandbox Code Playgroud)
和
maybeNullInt?.runIfNotNull { doSomething }
Run Code Online (Sandbox Code Playgroud)