Недавно построенные леса, основные особенности:
- Свободно контролируйте, какой проект разрабатывать, одну страницу или несколько страниц.
- Свободно настраиваемый внешний cdn
- Можно загрузить в хранилище Qiniu или Ali
- Высокая производительность и гибкость.
эффектhtml
Когда файлы развертываются на собственных серверах, сторонние ресурсы загружаются со сторонних ресурсов, а другие загружаются с Qiniu или Ali cdn, в полной мере используя кэширование браузера. в следующий раз, когда вы создадите проект,project
Создайте папку ниже, вы можете использовать ее немедленно.
Поэтому я рекомендую волну, я надеюсь, что это может помочь нуждающимся друзьям.
гитхаб:Высокопроизводительные и гибкие многостраничные скаффолдинги Vue
Высокопроизводительные и гибкие многостраничные скаффолдинги Vue
Особенности и преимущества
- Можно создать несколько отдельных проектов, каждый отдельный проект может быть многостраничным или одностраничным (
/src/project
Ниже представлены различные проекты,/src/project/...
Ниже представлены разные страницы проекта) - Настройте ссылки CDN, общедоступные ресурсы используют CDN
- После завершения упаковки ресурсы, отличные от CDN, автоматически загружаются в облачное хранилище Qiniu или Alibaba Cloud OSS.Для развертывания требуются только html-файлы.
- Он полностью использует кеш и обладает высокой производительностью, которую можно использовать для действий, которые часто необходимо выполнять.
H5
страница
использовать
- существует
src/project
Создайте новый проект, например:hello
- существует
config
серединаapp.config.js
Настройте элементы или укажите параметры непосредственно в командной строке - существует
config/cdnConf
Создайте файл js с тем же именем, что и у проекта, например:hello.js
, настроить cdn, посмотреть формат конфигурацииconfig/cdnConf, не применяется, если не настроен внешний cdn - развивать
yarn dev
илиnpm run dev
, за которым следует название проекта, например:yarn dev hello
затем развиватьhello
проект - Пакет
yarn build
илиnpm run build
, за которым следует название проекта, например:yarn build hello
затем упаковатьhello
проект
Разобрать
config/app.config.js
/**
* 配置需要开发或打包的项目,项目名为 src/project 的文件夹名
* 如果命令参数中指定了项目则根据命令参数,否则是这里的配置,如果都不存在则按 src/project 下的第一个目录为准
* **/
const currentProject = 'test'
/**
* 配置使用阿里云OSS还是七牛云
* 阿里云OSS或七牛云的具体配置在下面的config中配置
* **/
const use = 'ali' // ali 或 qiniu
const config = {
currentProject: `project/${realProject}`,
use,
// 七牛相关配置
qiNiuCdn: {
host: '',
bucket: '',
ak: '',
sk: '',
zone: '',
prefix: '' // 路径前可自定义prefix
},
// 阿里OSS相关配置
aLiOss: {
host: '',
accessKeyId: '',
accessKeySecret: '',
bucket: '',
region: '',
prefix: '' // 路径前可自定义prefix
},
cdnLink: selfCdn[realProject],
externalsConf: externalsConf
}
config/cdnConf
Настройте ссылку cdn, имя файла совпадает с именем проекта, то есть имя папки src/project
Формат:
module.exports = {
css: {
normalize: 'https://cdn.bootcss.com/normalize/8.0.0/normalize.min.css'
},
js: {
Vue: {
packageName: 'vue',
link: 'https://cdn.bootcss.com/vue/2.3.4/vue.min.js'
}
},
VueRouter: {
packageName: 'vue-router',
link: 'https://cdn.bootcss.com/vue-router/2.3.1/vue-router.min.js'
}
}
Здесь следует отметить несколько моментов:
- CSS импортируется напрямую, в отличие от js, который предоставляет глобальные переменные, поэтому он напрямую передается в виде строки.
- В js введение cdn выставит глобальную переменную, такую как importing
https://cdn.bootcss.com/vue/2.3.4/vue.min.js
разоблачилVue
переменная, поэтому ключевое значение объекта равноVue
, packageName — это имя пакета этой переменной, которое находится вyarn add xxx
илиnpm i xxx
Этотxxx
, эти два не должны быть неправильными, иначе переменная не будет найдена после введения cdn
При использовании в проекте
import Vue from 'vue' // 这里的 Vue 就是 cdn 暴露出来的变量,vue就是包名
import VueRouter from 'vue-router' // 同上,其他类库也相似
src/
├─common 所有项目的公共文件
│ ├─images
│ ├─js
│ └─styles
├─components 所有项目的公共组件
└─project 项目
├─boost 项目1(多页 example)
│ ├─helpFriends 页面1
│ ├─index 页面2
│ └─inviteFriends 页面3
└─test 项目2 (单页 spa example)
└─index 页面1
├─assets
├─components
└─router
mock
Среда разработки основана наexpress
Сборка, может имитировать внутренние данные или интерфейс, может использоватьmock.js
, не используется в примере, я добавлю его позже, чтобы попробовать
Примечание
Друзья в беде, если у вас есть вопросы, вы можете задатьissue
о, я исправлю это вовремя