Ember Initials 项目教程
1. 项目的目录结构及介绍
Ember Initials 项目的目录结构如下:
ember-initials/
├── app/
│ ├── components/
│ ├── helpers/
│ ├── initializers/
│ ├── instance-initializers/
│ ├── models/
│ ├── routes/
│ ├── styles/
│ ├── templates/
│ └── index.js
├── config/
│ ├── environment.js
│ ├── optional-features.json
│ └── targets.js
├── doc/
├── tests/
│ ├── acceptance/
│ ├── integration/
│ ├── unit/
│ └── test-helper.js
├── vendor/
├── .editorconfig
├── .ember-cli
├── .eslintrc.js
├── .gitignore
├── .npmignore
├── .prettierrc.js
├── .template-lintrc.js
├── .travis.yml
├── .watchmanconfig
├── ember-cli-build.js
├── package.json
├── README.md
├── testem.js
└── yarn.lock
目录结构介绍
- app/: 包含应用程序的主要代码,包括组件、助手、初始化器、模型、路由、样式和模板。
- config/: 包含项目的配置文件,如
environment.js
和targets.js
。 - doc/: 包含项目的文档文件。
- tests/: 包含项目的测试文件,包括接受性测试、集成测试和单元测试。
- vendor/: 包含第三方库和工具。
- .editorconfig: 编辑器配置文件。
- .ember-cli: Ember CLI 配置文件。
- .eslintrc.js: ESLint 配置文件。
- .gitignore: Git 忽略文件。
- .npmignore: npm 忽略文件。
- .prettierrc.js: Prettier 配置文件。
- .template-lintrc.js: 模板 Lint 配置文件。
- .travis.yml: Travis CI 配置文件。
- .watchmanconfig: Watchman 配置文件。
- ember-cli-build.js: Ember CLI 构建配置文件。
- package.json: 项目的 npm 配置文件。
- README.md: 项目说明文档。
- testem.js: 测试运行器配置文件。
- yarn.lock: Yarn 锁定文件。
2. 项目的启动文件介绍
Ember Initials 项目的启动文件主要包括:
- app/index.js: 应用程序的入口文件,负责加载和初始化应用程序。
- config/environment.js: 环境配置文件,定义不同环境下的配置参数。
app/index.js
'use strict';
module.exports = require('ember-initials/app')({
name: require('./package.json').name,
version: require('./package.json').version,
environment: process.env.EMBER_ENV
});
config/environment.js
'use strict';
module.exports = function(environment) {
let ENV = {
modulePrefix: 'ember-initials',
environment,
rootURL: '/',
locationType: 'auto',
EmberENV: {
FEATURES: {
// 在此处添加特性标志
},
EXTEND_PROTOTYPES: {
// 禁用日期、数组和字符串的原型扩展
Date: false,
Array: true,
String: true
}
},
APP: {
// 在此处添加应用程序配置
}
};
if (environment === 'development') {
// 开发环境配置
ENV.APP.LOG_RESOLVER = true;
ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
ENV.APP.LOG_VIEW_LOOKUPS = true;
}
if (environment === 'test') {
// 测试环境配置
ENV.locationType = 'none';
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOK