开始准备

  • 初始化工程目录

    npm init -y
  • 安装vue

    npm install vue
  • 安装 webpack

    npm install webpack --save-dev
  • webpack 装载各个模块

    # 用于解析HTML文件的插件
    npm install html-webpack-plugin
    # 安装vue项目所需要的loader
    npm install css-loader file-loader babel-core babel-loader babel-preset-es2015 vue-loader
    # 暂且称为vue模板解析器吧
    npm install vue-template-compiler
  • 手动创建目录

文件解析

  • packpage.json

    • 这个文件自动生成的,不用管它。都是你自己填的一些信息

    • 具体内容如下:

      {
      "name": "vue-demo2",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "start":"webpack-dev-server --inline --host localhost --port 7080 --config webpack.config.js"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
      "webpack": "^4.5.0",
      "webpack-cli": "^2.0.14"
      },
      "dependencies": {
      "babel-core": "^6.26.0",
      "babel-loader": "^7.1.4",
      "babel-preset-es2015": "^6.24.1",
      "css-loader": "^0.28.11",
      "file-loader": "^1.1.11",
      "html-webpack-plugin": "^3.2.0",
      "vue": "^2.5.16",
      "vue-loader": "^14.2.2",
      "vue-template-compiler": "^2.5.16",
      "webpack-dev-server": "^3.1.3"
      }
      }
  • webpack.config.js

    • 每个工程下都需要有一个叫webpack.config.js 的配置文件.关系到webpack的打包过程。定义入口和输出等

    • 具体内容如下

      let Webpack = require('webpack');
      let path = require('path');
      let HtmlWebpackPlugin = require('html-webpack-plugin');
      module.exports = {
      mode: 'development',
      entry: './src/index.js',
      output: {
      path: path.resolve(__dirname, 'build'),
      filename: 'index.js'
      },
      module: {
      rules: [
      {
      test: /\.vue$/,
      loader: 'vue-loader'
      }, {
      test: /\.css$/,
      loader: 'style-loader!css-loader'
      }, /* 用babel来解析js文件并把es6的语法转换成浏览器认识的语法 */
      {
      test: /\.js$/,
      loader: 'babel-loader',
      /* 排除模块安装目录的文件 */
      exclude: /node_modules/
      }
      ]
      },
      plugins: [
      new HtmlWebpackPlugin({
      template: __dirname + "/index.html" //模板文件.默认会生成index.html文件。你也可以自己制定filename }), ]
      };

代码编写

  • hello.vue

    <template>
    <div> <h1> {{ message }}</h1>
    </div>
    </template>
    <script>
    export default {
    data() {
    return {
    message: "Hello Vue"
    };
    }
    };
    </script>
    <style>
    h1{
    color: brown;
    }
    </style>
  • index.js

    import vue from 'vue';//npm 安装过vue.可以直接import
    import hello from './vue/hello.vue' new vue({
    el:'#app',//这个是在模板文件中需要替换的div ID.
    render:function(createElement){
    return createElement(hello);
    } })
  • index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    </head>
    <body>
    <div id="app"></div>
    </body>
    </html>

注意: 如果package.js中的脚本名称是start,例子中就是,使用npm start 即可启动,否则使用npm run 脚本名称启动

源代码地址:github

最新文章

  1. UML——在Visual Studio 2013/2015中设计UML类图
  2. I/O 请求数据包
  3. C#基础-可访问性-public、ptotected、protected internal、internal、private
  4. 2186: [Sdoi2008]沙拉公主的困惑 - BZOJ
  5. SelectList
  6. Unix主机syslog配置
  7. Centos7多网卡绑定操作,通过nmcli命令操作。
  8. 织梦DedeCMS调用二级子栏目或者多级栏目的方法
  9. AutoMapper 使用总结
  10. 获取对固定列不重复的新DataTable
  11. selenium获取百度账户cookies
  12. limit实现的分页查询
  13. WEB 3D SVG CAD 向量 几个实施(转)
  14. PB测款方法 店铺运费模板 设置
  15. 如何开发一个npm包并发布
  16. 【PyQt5-Qt Designer】添加图片+鼠标点击
  17. 【Laravel】 常用的artisan命令【原创】
  18. [STL][C++]STACK QUEUE
  19. HTML5文件拖拽上传记录
  20. python中如何剔除字符串

热门文章

  1. PHP面向对象编程题(方法的实践)
  2. 4_1.springboot2.xWeb开发使用thymeleaf
  3. &lt;scrapy爬虫&gt;爬取quotes.toscrape.com
  4. iOS逆向系列-逆向APP思路
  5. 单体内置对象——Global对象
  6. 9.SpringJDBC模板类
  7. loj6094 归乡迷途
  8. Python-线程(2)
  9. 字符串+dp——cf1163D好题
  10. SpringIOC自定义属性编辑器PropertyEditor