2016-06-01 68 views
10

(我在地球Angular2新(从死亡线上星球
的Flex /的Actionscript移民,所以请原谅这个幼稚的问题)
angular-cli“ng build”不会生成工作项目?

有我在想犯了一个致命错误运行“NG构建”后命令在我的项目从Angular CLi,我最终将在目录“dist” - 我可以运行在浏览器中,运行在服务器上运行项目?

我结束了一个文件夹正确命名的东西等。有没有我在这里失踪的一个步骤?

enter image description here

+1

你不是误会。您应该能够将'dist'文件夹的内容转储到您选择的Web服务器上并拥有一个工作站点。 –

+0

如果你想启动开发服务器以在本地运行该站点,你应该使用'ng serve'而不是'ng build'。 –

+0

我还没有看过'index.html'中的所有内容,但我猜测它不会从文件系统中正确加载,所以是的,您需要生产应用程序的服务器。 –

回答

35

我新的角度,只是碰到了同样的问题。您可以打开并运行直接从文件系统浏览器中的index.html文件,但你必须从编辑index.html中基href属性的路径:

<base href="/"> 

到:

<base href="./"> 
+1

在部署到真实服务器时,我们是否必须保留或删除此应用程序?可能应该注意到角度2开发团队 – realtebo

+0

可能是因为这个“bug”只存在于Linux系统上?只是试图排除故障。 – Blauhirn

+0

目前最新的macOSsierra系统。这对我来说固定在localhost:4200和现场制作服务器(Apache)。这个答案结束了我很长的搜索。谢谢!!!另外@realtebo我完全同意这应该被带到angular-cli开发团队! – totallytotallyamazing

0

您需要在命令行运行以下命令:

# This will create a production version in "dist" folder 
ng build -prod 

# This will create a production version in a custom folder 
ng build -prod --output-path=custom 
4

我以为我会交叉发布我的答案从类似的问题。 Original Post.
我不认为OP是重复的,所以在这里;


可以实现具有以下CMD角CLI命令所期望的结果:

ng build --base-href /myUrl/

ng build --bh /myUrl/ng build --prod --bh /myUrl/

这改变了<base href="/"><base href="/myUrl/">内置版本只这对我们在开发和生产之间的环境变化是完美的。最好的部分是没有代码库需要改变使用这种方法。总而言之,将index.html的基准href保留为:<base href="/">,然后在角度cli中运行ng build --bh ./以使其成为相对路径,或者用您需要的任何替代./来代替。

This是官方的angular-cli参考用法的文档。