如何将 Aurelia 源目录从 Src 更改为 App

How the Change Aurelia Source Directory From Src to App

希望这是世界上最简单的问题,但我无法通过 google 在任何地方找到它。 Aurelia 的默认结构是这样的-

node_modules/
jspm_packages/
src/
  app.html
  app.ts
config.js
index.html
package.json
tsconfig.json

我不喜欢这样,因为我不希望我的可构建源文件与 package.jsontsconfig.json 和所有 node_modules 等开发文件一起使用。此外,我使用 gulp 所以它变得更加混乱。这是我想要构建我的应用程序的方式-

gulp-tasks/
node_modules/
src/
  app/
    components/
    app.html
    app.ts
  bower_components/
  jspm_packages/
  config.js
  index.html
gulpfile.js
package.json
tsconfig.json

但这就像 Aurelia 被硬编码来寻找 src/。我已更新我的配置以查找 app/app.html,但我认为它正在查找 src/app/app.html。如何更新 Aurelia 以使用我想要的项目结构?

更新 build/paths.js:

var appRoot = 'src/app';
var outputRoot = 'src/dist/';
//... leave unmodified

创建一个main.js文件,在src/app/:

里面
//ES6/7
export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging();

  aurelia.start().then(() => aurelia.setRoot('app/app'));
}

//TypeScript
import {Aurelia} from 'aurelia-framework';

export function configure(aurelia: Aurelia): void {
  aurelia.use
    .standardConfiguration()
    .developmentLogging();

  aurelia.start().then(() => aurelia.setRoot('app/app'));
}

index.html 中设置 main.js 中的 aurelia-app 属性。像这样:

<body aurelia-app="app/main">

关闭 gulp 监视任务(如果 运行ning)并再次 运行 它。

希望对您有所帮助!