完成aurelia应用程序

时间:2015-11-10 09:21:02

标签: javascript gulp aurelia jspm

我目前正准备发布我的第一个基于aurelia的应用程序。除了一些小细节之外,我几乎已经弄明白了。

首先加载css

我发现自己想在应用程序启动之前加载一些css;特别是,加载div的动画逻辑。我想要这个,因为否则旋转器不会旋转。我知道我可以单独包含微调器css,但我还是需要(想要)animate lib,所以不妨添加它。我已将以下内容添加到index.html:

<link href="jspm_packages/github/daneden/animate.css@3.4.0/animate.min.css" rel="stylesheet">
<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet">
<link href="dist/styles/style.css" rel="stylesheet"/>

这有两个原因。首先,我可以用aurelia-bundler捆绑这个css,所以不应该吗?其次,这实际上把我带到了下一个问题......

VC中有什么?

animate是在jspm_packages中,感觉它不应该在版本控制中。但是,我确实需要该文件。所以,我也许可以选择在我的构建过程中将文件复制到dist/。这个问题也适用于dist/目录,它现在包含捆绑文件(由aurelia-bundler制作)以及我的静态资产(少于css,优化图像和缩小的json文件),还有源文件用于dev(es2015编译的文件)。 dist目录在.gitignore以及jspm_packages中。图像从dist/加载,样式表也是如此。 index.html不在dist中,所以我不能使用相对路径,只需创建一个构建目录。我有点卡在这里。

更新:应该部署的文件的另一个示例是jspm_packages/system.js。这是在jspm_packages中,它不在版本控制中。

1 个答案:

答案 0 :(得分:3)

我同意:jspm_packages及其内容在开发过程中可能不应受源代码控制。

但这并不能阻止您将这些人工制品部署为构建过程的一部分。例如,可部署构建的输出目录如下所示:

/deploy
    /jspm_packages
        system.js
        system-polyfills.js
    app-bundle-vXXX-js
    config.js
    index.html

以上都不属于我的正常开发版本控制。同样适用于生成的任何其他内容(来自SASS / LESS等的css)以及未包含在捆绑包中的其他第三方内容。

但是,如果我需要跟踪版本化版本,那么这并不能阻止我生成上述/部署输出的单独构建/发布/部署版本(可能已压缩或已经准备好转储到部署服务器上)。理论上,我可以随时从版本化的源重新创建构建,但我也可能希望将版本化的构建输出存储在某处。

很大程度上取决于您的发布管理方法。