(版本1.0)
npm run dev 运行工程
- PS F:\SDN\VIMS--前端\vue> cnpm install
- PS F:\SDN\VIMS--前端\vue> cnpm rebuild node-sass
- PS F:\SDN\VIMS--前端\vue> cnpm run dev
若提示cookie失败,则输入: - PS F:\SDN\VIMS--前端\vue> cnpm install vue-cookies
PS F:\SDN\VIMS--前端\vue> cnpm run dev
Vue的组件是.vue或.wxml等文件,无法被浏览器解析,需要被翻译和打包为.js文件
1.输入cnpm install webpack –g进行安装打包 。cnpm install vue-cli –g 用来生成vue模板的工具
(版本2.0)
一:安装Node.js
- 在Node.js官网https://nodejs.org/en/download/下载安装包。
- 下载后进行安装。
- 打开命令行,输入node -v可以查看到版本号。输入npm –v可看到npm版本号。新版的Node.js已自带npm(类似.net中的nuget包管理器),安装Node.js时会一起安装。(将来要更新npm可用这个命令npm intall npm@latest -g)
- 配置环境变量(这里就会自动配置好)。
- 命令行中输入node, 再输入console.log("hello"); 用来验证是否安装成功。
- 配置npm的全局模块的存放路径和缓存路径,在node.js的安装目录下新建node-cache和node_global两个文件夹,然后命令行输入:
npm config set prefix "c:\Program Files\nodejs\node_global"
npm config set cache "c:\Program Files\nodejs\node_cache"
将来用npm install xxx -g 安装以后的模块就在这两个文件夹里。 - 配置npm的环境变量:系统变量path中新增一个变量:
C:\Program Files\nodejs\node_global\node_modules,(node安装在哪就写哪),然后在用户变量中修改变量为C:\Program Files\nodejs\node_global,最后就可以删掉C:\Users\xlz\AppData\Roaming下的npm目录了。
二:安装cnpm
- 输入命令:cnpm install, 完成后在C:\Program Files\nodejs\node_global\node_modules目录下可看到cnpm文件夹和它的文件了。
三:安装webpack(js应用程序的静态模块打包器module bundler)
- 输入 cnpm install webpack -g 进行安装,如何报错则去掉-g。
四:安装vue-cli(用来生成vue模板的工具)
- 输入cnpm install vue-cli -g 进行安装。
五:新建一个Vue项目测试一下
- 在某个盘新建一个文件夹,命令行输入vue init webpack xxx(项目名)进行创建,按下enter键进行多次确认,最后一步选No.
- cd xxx(项目名),即进入所创建的项目中。
- 输入 cnpm install下载安装项目的依赖。
- 输入cnpm run dev ,然后在浏览器通过http://localhost:8080地址访问。
六:安装VSCode(官网可下载)
- 安装vetur插件(vue语法高亮),eslint插件(智能错误监测),安装open in broswer插件(可使用alt + b来使用浏览器打开当前html文件)。
七:代码格式化
- 打开项目根目录中的.eslintrc.js文件,在rules中添加"space-before-function-paren": ["error", "never"],目的是为了让eslint检查在函数名和括号之间不能有空格。
- 安装vs code扩展工具:vetur、Prettier-Code formatter和ESLint。
- vs code 用户设置:文件--首选项--设置:
在打开的窗口中的“用户设置”中加入下面内容:{ // prettier:每行在这个字符数内整合代码,如果你的屏幕较宽分辨率较高可以适当加大 "prettier.printWidth": 120, // prettier:是否在每行末尾加上分号 "prettier.semi": false, // prettier:如果为true,将使用单行否则使用双引号 "prettier.singleQuote": true, // vetur:对html的内容使用js-beautify-html "vetur.format.defaultFormatter.html": "js-beautify-html" }
- 按下Alt+Shift+F ,代码便可格式化了。
八:自动生成代码块
- 在vs code中,使用快捷键Ctrl+Shift+P打开搜索栏-->输入snippet-->选择首选项(首选项:配置用户代码片段)
- 输入vue-->选择vue.json(Vue)
- 输入需要生成的vue组件内容
{ "Print to console": { "prefix": "vue", "body": [ "<template>", " <div>\n", " </div>", "</template>\n", "<script>", "export default {", " data() {", " return {\n", " }", " },", " methods: {\n", " },", " components: {\n", " }", "}", "</script>\n", "<style>\n", "</style>", "$2" ], "description": "创建一个自定义的vue组件代码块" } }
- 之后在创建vue文件是,输入vue然后tab一下,基本结构就出来了。
九:常用插件推荐
- Auto Close Tag:自动闭合Html/XML标签;
- Auto Rename Tag:自动完成另一侧标签的同步修改;
- Beautify:格式化代码,支持自定义格式化代码规则;
- Bracket Pair Colorizer:给括号加上不同的颜色,区分不同的区块;
- Debugger for Chrome:映射vscode上的断点到chrome上,方便调试;
- ESlint:js语法纠错,配置较为复杂;
- GitLens:方便查看git日志;
- HTML CSS Support:智能提示css类型以及id;
- Html Snippet :智能提示Html标签,以及标签含义;
- JavaScript(es6) code snippet :es6语法智能提示,以及快速输入;
- jQuery Code Snippet:jQuery 代码智能提示;
- Material Icon Theme 和 vscode-icons:最好的vscode主题;
- open in browser:支持快捷键在浏览器中打开html文件;
- Path Intellisense:自动提示文件路径,支持各种快速引入文件;
- Vetur:Vue多功能集成插件。
十:目录简介
- build 里面是一些操作文件,使用npm run *其实执行的就是这里的文件;
- config 配置文件,执行文件需要的配置信息;
- src 资源文件,所有组件和所用图片都放在这里;
3.1 assert 资源文件夹,放图片之类的资源;
3.2 components 组件文件夹,写的所有组件都放在这个文件夹下;
3.3 router 路由文件夹,这个决定了页面的跳转规则;
3.4 App.vue 应用组件,所有自己写的组件都是在这个组件上运行;
3.5 main.js webpack的入口文件,webpack四大特性:entry入口、output输出、Loader加载器、plugins插件 - node_modules 放所有依赖的模块,往往不上传此文件(文件多且大);
- dist文件,打包后的成品页面:
5.1 index.html 就是单页应用的页面;
5.2 static
十一:项目打包
打包命令:npm run build ,打包完成后会在根目录下生成一个dist文件夹,这个就是最后的成品页面,需要将打包的路径改为相对路径,这个根据build命令一路跟踪,到config\index.js文件中build对象,将assetsPublicPath中的“/”改为“./”即可,并在build\build.js中将这两句的提示信息删掉即可;
十二:Beautify插件配置*.vue
- 点击设置,找到beautify.language复制这一段到用户区,并在html一栏加上vue即可。
- 文件-->设置-->键盘快捷键设置,打开编辑keybindings.json,输入
{ "key": "alt+shift+e",//自己定键位 "command": "HookyQR.beautify", "when": "editorFocus" }
十三:ESLint(用于审查代码规范)的使用配置相关
- 在初始化项目时选择使用ESLint管理代码
Use ESLint to lint your code? (Y/n) - 对文件的解释:
2.1 .editorconfig:主要用于配置IDE;root = true # 对所有文件有效 //[*js]只对js文件有效 [*] #设置编码格式 charset = utf-8 #缩进类型 可选space和tab indent_style = space #缩进数量可选整数值2 or 4,或者tab indent_size = 2 #换行符的格式 end_of_line = lf # 是否在文件的最后插入一个空行 可选true和false insert_final_newline = true # 是否删除行尾的空格 可选择true和false trim_trailing_whitespace = true
2.2 .eslintignore:放置需要ESLint忽略的文件,只对.js文件有效;/build/ /config/ /dist/ /src/utils/ /src/router/*.js
2.3 .eslintrc.js:用来配置ESLint的检查规则;module.exports = { //此项是用来告诉eslint找当前配置文件不能往父级查找 root: true, //此项是用来指定eslint解析器的,解析器必须符合规则,babel-eslint解析器是对babel解析器的包装使其与ESLint解析 parser: 'babel-eslint', //此项是用来指定javaScript语言类型和风格,sourceType用来指定js导入的方式,默认是script,此处设置为module,指某块导入方式 parserOptions: { sourceType: 'module' }, //此项指定环境的全局变量,下面的配置指定为浏览器环境 env: { browser: true, }, // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style // 此项是用来配置标准的js风格,就是说写代码的时候要规范的写,如果你使用vs-code我觉得应该可以避免出错 extends: 'standard', // required to lint *.vue files // 此项是用来提供插件的,插件名称省略了eslint-plugin-,下面这个配置是用来规范html的 plugins: [ 'html' ], // add your custom rules here // 下面这些rules是用来设置从插件来的规范代码的规则,使用必须去掉前缀eslint-plugin- // 主要有如下的设置规则,可以设置字符串也可以设置数字,两者效果一致 // "off" -> 0 关闭规则 // "warn" -> 1 开启警告规则 //"error" -> 2 开启错误规则 // 了解了上面这些,下面这些代码相信也看的明白了 rules: { // allow async-await 'generator-star-spacing': 'off', // allow debugger during development 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // js语句结尾必须使用分号 'semi': ['off', 'always'], // 三等号 'eqeqeq': 0, // 强制在注释中 // 或 /* 使用一致的空格 'spaced-comment': 0, // 关键字后面使用一致的空格 'keyword-spacing': 0, // 强制在 function的左括号之前使用一致的空格 'space-before-function-paren': 0, // 引号类型 "quotes": [0, "single"], // 禁止出现未使用过的变量 // 'no-unused-vars': 0, // 要求或禁止末尾逗号 'comma-dangle': 0 } }
- 如何在老项目中加入ESLint:
3.1 在目录中添加.editorconfig、.eslintrc.js、.eslintignore这三个文件;
3.2 在package.json的”devDependencies”中加入ESlint所需要的包"babel-eslint": "^7.1.1", "eslint": "^3.19.0", "eslint-config-standard": "^10.2.1", "eslint-friendly-formatter": "^3.0.0", "eslint-loader": "^1.7.1", "eslint-plugin-html": "^3.0.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-node": "^5.2.0", "eslint-plugin-promise": "^3.4.0", "eslint-plugin-standard": "^3.0.1",
3.3 在bulid/webpack.base.conf.js文件中加入ESlint规则并生效// 在module的rules中加入 module: { rules: [ { test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-formatter'), // 不符合Eslint规则时只警告(默认运行出错) // emitWarning: !config.dev.showEslintErrorsInOverlay } }, ] }
3.4 重新bulid代码运行.