引用自:
vue官方、
腾讯全端AlloyTeam 团队
推荐VSCode、webstorm、sublime、Atom
统一开发,尽量使用VSCode,轻量、插件多,免费
Vue
开发插件:eslint
、HTML CSS Support
、HTML Snippets
、Live Server
、Vetur
、Vue VSCode Snippets
保存时自动按照eslint
规则格式化代码
{
"eslint.validate": [{
"language": "vue",
"autoFix": true
},
{
"language": "html",
"autoFix": true
},
{
"language": "javascript",
"autoFix": true
}
],
"eslint.autoFixOnSave": true,
}
全部采用小写方式, 以下划线分隔。 例:my_project_name
参照项目命名规则;
有复数结构时,要采用复数命名法。
例:scripts
、styles
、images
、data_models
组件命名使用大驼峰(KebabCase)TodoItem.vue
页面命名使用连接符(kebab-case)user-info.vue
如果views下的文件件只有一个文件,命名使用index.vue
│── views
│ └── user_info
│ ├── index.vue
引用例子:
// 引用到 文件夹 + '/'即可
import("../views/user_info/")
名使用分隔符线resize-event.js
如果为单个单词,使用小写md5.js
jdc.scss
jdc_list.scss
jdc_detail.scss
@import
引入的文件不需要开头的’_‘和结尾的’.scss’;/* not good */
@import "_dialog.scss";
/* good */
@import "dialog";
使用下划线
jdc.html
jdc_list.html
jdc_detail.html
export default {
name: 'TodoItem',
// ...
}
Vue.component('todo-item', {
// ...
})
Base
、App
或 V
。components/
|- BaseButton.vue
|- BaseTable.vue
|- BaseIcon.vue
components/
|- AppButton.vue
|- AppTable.vue
|- AppIcon.vue
components/
|- VButton.vue
|- VTable.vue
|- VIcon.vue
The
前缀命名,以示其唯一性。components/
|- TheHeading.vue
|- TheSidebar.vue
components/
|- TodoList.vue
|- TodoListItem.vue
|- TodoListItemButton.vue
components/
|- SearchSidebar.vue
|- SearchSidebarNavigation.vue
components/
|- SearchButtonClear.vue
|- SearchButtonRun.vue
|- SearchInputQuery.vue
|- SearchInputExcludeGlob.vue
|- SettingsCheckboxTerms.vue
|- SettingsCheckboxLaunchOnStartup.vue
或者
components/
|- StudentDashboardSettings.vue
|- UserProfileOptions.vue
props: {
greetingText: String
}