我有一个用Angular 7编写的小项目,我试图用它来构建生产版本。
我跑步时
ng build --prod --aot --service-worker
如截图所示,构建将无错误运行。
另一方面,当我尝试在浏览器中加载应用程序时,它将在控制台中引发错误,并且根本不会加载。
任何想法是什么原因造成的?这些文件与index.html位于同一目录中,并且确实存在。
答案 0 :(得分:2)
因此,我发现如果我想在不使用页面前面的某种服务器的情况下静态地提供此文件,则必须设置构建参数--base-href ./
,并且还要为诸如图片之类的资产使用相对路径
因此构建命令实际上将是
ng build --prod --aot --service-worker --base-href ./
答案 1 :(得分:1)
使用http-server在本地运行构建的代码
local Core = script.Parent
local Charles = Core.Charles
local Fern = Core.Fernando
local Step = Core.Stephanie
local Wendy = Core.Wendy
function onStart()
Wendy.Head.WendyTalk.InUse = true
end
Step.Head.StephanieTalk.DialogChoiceSelected:connect(function(player,choice)
Step.Head.StephanieTalk.Tone = "Enemy"
if choice.Name == "ContinueLoser" then
Wendy.Head.WendyTalk.InUse = false
elseif choice.Name == "FightBack" then
player.Character.Humanoid.Health = player.Character.Humanoid.Health - 10
end
end)
Wendy.Head.WendyTalk.DialogChoiceSelected:connect(function(player,choice)
Wendy.Head.WendyTalk.Tone = "Enemy"
end)
Charles.Head.CharlesTalk.DialogChoiceSelected:connect(function(player,choice)
Charles.Head.CharlesTalk.Tone = "Friendly"
end)
Fern.Head.FernandoTalk.DialogChoiceSelected:connect(function(player,choice)
if choice.Name == "Agree" then
Fern.Head.FernandoTalk.Tone = "Friendly"
elseif choice.Name == "Disagree" then
Fern.Head.FernandoTalk.Tone = "Enemy"
end
end)
npm install http-server
http-server --help
http-server -p 8080 -c-1 dist/<project-name>
指定端口,-p
禁用缓存,最后一个参数是应提供的目录。
如果您正在与服务人员一起玩并要对其进行测试,那就是good source of info。
答案 2 :(得分:0)
在为编译后的输出文件production
--prod
编译项目后,您不仅可以从浏览器中打开它,还必须在计算机上使用local server
来这样做,使用XAMPP
答案 3 :(得分:0)
如前所述,您可以使用ng build --prod --base-href ./
。
另一个选择是配置您的 angular.json 文件。
您必须在angular.json > projects > yourProject > architect > build > configurations > production
下添加以下行:
"baseHref": "./"