ember-try 项目教程
1. 项目的目录结构及介绍
ember-try/
├── addon/
│ ├── commands/
│ │ ├── try-each.js
│ │ ├── try-one.js
│ │ └── try-latest.js
│ ├── utils/
│ │ ├── config.js
│ │ ├── scenarios.js
│ │ └── ...
│ └── index.js
├── app/
│ └── ...
├── blueprints/
│ └── ember-try/
│ └── files/
│ └── config/
│ └── ember-try.js
├── config/
│ ├── ember-try.js
│ └── ...
├── tests/
│ ├── acceptance/
│ ├── integration/
│ ├── unit/
│ └── ...
├── vendor/
│ └── ...
├── package.json
├── README.md
└── ...
目录结构介绍
- addon/: 包含
ember-try
插件的核心代码,包括命令和工具函数。- commands/: 包含
ember-try
提供的各种命令实现,如try-each.js
,try-one.js
,try-latest.js
等。 - utils/: 包含配置和场景处理的工具函数,如
config.js
,scenarios.js
等。
- commands/: 包含
- app/: 包含应用程序的代码,通常由用户自定义。
- blueprints/: 包含项目初始化时的蓝图文件,如
ember-try
的配置文件模板。 - config/: 包含项目的配置文件,如
ember-try.js
。 - tests/: 包含项目的测试代码,分为
acceptance
,integration
,unit
等不同类型的测试。 - vendor/: 包含第三方库的代码。
- package.json: 项目的依赖和脚本配置文件。
- README.md: 项目的介绍和使用说明。
2. 项目的启动文件介绍
ember-try
项目的启动文件主要是 addon/index.js
。这个文件是 ember-try
插件的入口点,负责初始化和注册插件提供的命令。
// addon/index.js
'use strict';
module.exports = {
name: require('./package').name,
includedCommands() {
return {
'try:each': require('./commands/try-each'),
'try:one': require('./commands/try-one'),
'try:latest': require('./commands/try-latest')
};
}
};
启动文件介绍
- includedCommands(): 这个方法注册了
ember-try
提供的命令,如try:each
,try:one
,try:latest
等。
3. 项目的配置文件介绍
ember-try
的配置文件位于 config/ember-try.js
。这个文件定义了测试场景和相关配置。
// config/ember-try.js
const getChannelURL = require('ember-source-channel-url');
module.exports = async function() {
return [
{
name: 'Ember canary',
npm: {
devDependencies: {
'ember-source': await getChannelURL('canary')
}
}
},
{
name: 'Ember beta',
npm: {
devDependencies: {
'ember-source': await getChannelURL('beta')
}
}
},
{
name: 'Ember release',
npm: {
devDependencies: {
'ember-source': await getChannelURL('release')
}
}
}
];
};
配置文件介绍
- name: 定义场景的名称。
- npm: 定义场景的 npm 依赖配置。
- devDependencies: 定义场景的开发依赖,如
ember-source
的不同版本。
- devDependencies: 定义场景的开发依赖,如
- getChannelURL: 获取 Ember 不同渠道(如
canary
,beta
,release
)的 URL。
通过这个配置文件,ember-try
可以测试应用程序在不同 Ember 版本下的兼容性。