Yeoman Angular Generator未正确配置为bracket.io

时间:2015-04-30 10:09:34

标签: angularjs twitter-bootstrap yeoman adobe-brackets

我正在寻找帮助,使用Yeoman生成的Angular种子应用程序在brackets.io中使用实时预览。

Angular项目的目录结构有一个app子目录,其中包含程序代码,其中包含所需的入口点index.html

此index.html将bower_components文件夹称为相对地址,并且还具有指向js文件夹下app子目录的相对链接。

Directory structure generated by Yeoman Angular

我正在使用bracket.io的实时预览功能,但无法使用默认的相对路径找到Angular和Bootstrap。

我已经使用了内部Web浏览器,以及我已经设置的IIS应用程序(它本身运行良好),并且在实时预览启动时都会出现同样的问题。

作为一种解决方法,我已将这些更改为绝对路径,但我正在寻找可能的原因,以找出未找到相对路径的原因

这似乎特定于bracket.io的实时预览,而不是在生成的代码中。

原始生成的代码:

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-messages/angular-messages.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-touch/angular-touch.js"></script>
<!-- endbower -->
<!-- endbuild -->

    <!-- build:js({.tmp,app}) scripts/scripts.js -->
    <script src="scripts/app.js"></script>
    <script src="scripts/controllers/main.js"></script>
    <script src="/.bowerrc"></script>
    <!-- endbuild -->

我的解决方法:

<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="/bower_components/angular-animate/angular-animate.js"></script>
<script src="/bower_components/angular-cookies/angular-cookies.js"></script>
<script src="/bower_components/angular-messages/angular-messages.js"></script>
<script src="/bower_components/angular-resource/angular-resource.js"></script>
<script src="/bower_components/angular-route/angular-route.js"></script>
<script src="/bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="/bower_components/angular-touch/angular-touch.js"></script>
<!-- endbower -->
<!-- endbuild -->

    <!-- build:js({.tmp,app}) scripts/scripts.js -->
    <script src="/app/scripts/app.js"></script>
    <script src="/app/scripts/controllers/main.js"></script>
    <script src="/.bowerrc"></script>
    <!-- endbuild -->

1 个答案:

答案 0 :(得分:1)

首先,如果你使用自耕农角度发生器,那么你将会运行咕噜声&#34;服务&#34;任务将处理&#39; serve&#39;中定义的所有任务(包括livereload)。 yr gruntfile的部分。到目前为止,你的Brackets没有任何作用。

如果你没有使用grunt,并且你正在使用支架的livereload,那么你必须完成2个任务。

1。)更新yr .bowerrc,如下所示

 {
   "directory": "app/bower_components"
 }

现在所有的bower依赖关系将转到指定的目录,在这里你想要它们 进去&#34; app&#34;文件夹中。

2。)现在你可以托管你的app文件夹&amp;您的浏览器将找到所有依赖项。     无需更改index.html

注意:Yeoman再次是由&#34; angular-generator&#34;生成的独立和grunt文件。处理不同的任务。   Brackets在这里没有角色或依赖。 当你做&#34;实时预览&#34;使用括号,它只运行yr index.html文件,这样就无法访问app app文件夹以外的内容