我怎样才能让Ionic了解项目结构的变化?

时间:2015-05-17 17:01:33

标签: cordova mobile ionic-framework project-structure directory-structure

我更改了内部“www”文件夹结构,即将“scss”文件夹移动到文件夹“assets”,创建了“app”文件夹等。现在,当我尝试运行时:

ionic setup sassarray_slice()),

它在“www”中创建了一个“css”文件夹,但不是“www / assets”。

如何在结构变化上更新Ionic?我已设法更新“.bowerrc”,因此它知道放置包的位置,但只有Bower知道新的项目结构。

"www" Structure

1 个答案:

答案 0 :(得分:4)

您可以将任何文件夹用于css文件 你需要改变的一件事是 gulpfile.js 中的gulp任务:

gulp.task('sass', function(done) {
  gulp.src('./scss/ionic.app.scss')
    .pipe(sass({
      errLogToConsole: true
    }))
    .pipe(gulp.dest('./www/css/'))
    .pipe(minifyCss({
      keepSpecialComments: 0
    }))
    .pipe(rename({ extname: '.min.css' }))
    .pipe(gulp.dest('./www/css/'))
    .on('end', done);
});

如您所见,它会转换目标文件夹./www/css/

中的 scss 文件 ionic.app.scss
.pipe(gulp.dest('./www/css/'))

这是你必须用新路径改变的代码。

不要忘记使用新路径更改 index.html

您不必更改ionic.project文件,因为它已包含 www 文件夹(和子文件夹)中的所有文件,不包括 www / lib (和子文件夹);见ref

  

LiveReload

     

默认情况下,LiveReload会监视您的www /目录中的更改,   不包括www / lib /.

更新:

也许有人有兴趣更改根文件夹www。我们可以这样做,但我们必须指示离子使用不同的名称。

ionic.project有一个额外的属性:documentRoot

{
  "name": "myApp",
  "app_id": "",
  "documentRoot": "app",
  "gulpStartupTasks": [
    "sass",
    "watch"
  ],
  "watchPatterns": [
    "app/**/*",
    "!app/lib/**/*"
  ]
}

Serving an alternate document root提供有关该主题的更多信息。