VueNodes

start

// 全局安装 vue-cli
npm install –g @vue/cli

// 安装webpack
npm install -g webpack

// 创建项目

  • 图形化创建一个项目
    vue ui //package管理 设置为npm
  • 创建一个基于webpack模板的新项目
    vue init webpack my-project //出错则先运行 npm install -g @vue/cli-init
  • rooter yes 其他的都 no

// 安装依赖包
cd my-project
npm install //安装依赖包
npm run serve //ui让项目跑起来
npm run dev //webpack让项目跑起来 = npm start 在package.json的scripts里修改

file config

//适配手机屏幕大小
main.js / import ‘./config/rem’
src / config / rem
(function(){function a(){var b=document.documentElement.clientWidth;b=b>750?750:b;var c=b/750*100;document.getElementsByTagName(“html”)[0].style.fontSize=c+”px”}a();window.onresize=a})();

//插入路径
router / index.js / import Home from ‘@/page/home’
home <template><div class="home-page" >home</div></template>
detail <template><div class="detail-page" >detail</div></template><style scoped >.detail-page{width: 20px;}</style>

//px 转 rem
cnpm install px2rem-loader
build / utils.js
var px2remLoader = {
loader: ‘px2rem-loader’,
options: {
remUnit:50
}
}
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader,px2remLoader] 修改此处
//不转换rem
/no/ 后面加则不转换

//依赖包
.package.json

//Es6支持转化等
.babelrc

Command

// Vue 声明
main.js
var vm= new Vue()
el \ data \ mehthods \ component

//组件基础
Vue.component(componentName,””)
props \ data \ methods \ template

//Base command
vm.$watch(‘a’,function(newVal,oldVal){}) //记录a最新的值和旧的值
v-once //不允许修改
v-html // 输出真真的html标签
v-bind : class=”mesa” \v-band : class=”{ active:isActive }” //动态绑定一个属性 缩写 :
v-if=”” //指令
@click = “click1” methods : {click1 : function(){};} // @方法 这里点击事件时触发
v-show // 是否显示
v-for = “item in items” // 迭代对象
v-on:click // 绑定点击事件
v-model // 双向绑定
this.$emit(‘’,) // 触发事件

//跳转链接

//去掉下划线
a{text-decoration: none;}

//编译时scss转css app组件不需要配置

//缩写路径
webpack.base.conf.js 见
alias 缩写 extensions 代表后缀可不写
修改了webpack的目录需要重启

//vue-1
//启动开发是否自动打开浏览器
config / index.js
aotoOpenBrowerser:true
host:’0.0.0.0’

//代码风格 rules下的代码

  • // allow async-await
    ‘generator-star-spacing’: ‘off’,
    // allow debugger during development
    ‘no-debugger’: process.env.NODE_ENV === ‘production’ ? ‘error’ : ‘off’,
    ‘semi’: [‘error’, ‘always’],
    ‘indent’: ‘off’,
    ‘vue/script-indent’: [‘error’, 2, {‘baseIndent’: 1}],
    ‘space-before-function-paren’: [‘error’, {‘anonymous’: ‘always’, ‘named’: ‘never’, ‘asyncArrow’: ‘always’}]
    // 自动修改代码
    npm run lint – –fix

//配置src资源
创建src下的目录 pages components base scss js img fonts
移植fonts
_icons.scss 移到scss
_reset _variables _mixins _base index.scss

  • @charest”UTF-8”;
    @import”reset”;

//删除assets / logo.png
加入资源

//components 删除helloworld

//promise兼容es5 和300ms延迟 –save 导入package –save-dev 开发时依赖
cnpm install –save babel-polyfill fastclick

//安装scss 开发时的 语法环境 webpack开发依赖
cnpm install –save-dev node-sass sass-loader

//引入scss错误
npm uninstall sass-loader // 卸载当前版本
cnpm install sass-loader@7.3.1 –save-dev

//安装swiper错误
cnpm install vue-awesome-swiper@3.1.3 -S

编辑