我有一个ember cli项目,当运行ember服务器时它可以工作,但如果我尝试直接运行/dist/index.html它找不到dist/assets/vendor.js
我需要这些文件才能工作,因为我将共享此代码以在服务器中运行。
答案 0 :(得分:3)
由于 [HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
//Call business authentication service
if (GetClient().OpenSession(model.username, model.password))
// Set Cookie? Implement some Owin interfaces?
}
// If we got this far, something failed, redisplay form
return View(model);
}
文件中的<base>
标记指定了用于文档中包含的所有相对URL的基本URL,因此需要http服务器。因此,当您的应用程序尝试提供assets / app.js或assets / vendor.js时,它会尝试查看相对于此基本URL的内容,该URL在config / environment.js中定义。它默认为/。因此,您需要一台服务器来响应资产的资源请求。请注意,您的assets文件夹是相对于index.html文件的,但是在dist文件夹中,浏览器不会将其视为index.html
tl; dr您不能只是双击应用程序的/
,在浏览器中打开它,并期望它能够正常工作。它必须服务
答案 1 :(得分:0)
dist文件夹是生产就绪代码,已准备就绪,准备就绪,可在准备就绪时部署到服务器。您将文件从此文件夹复制到生产服务器,因此您现在面临的问题是 - 您的dist index.html正在寻找资产文件夹中的资产而不是dist / assets文件夹中的资产不会成为问题。 dist代码与其他代码相同,因此如果您的其他代码正常工作,则dist代码应该没问题。 请注意你的意思是直接运行dist / index.html?