zoukankan      html  css  js  c++  java
  • 搭建Vue2+Vuex+Webpack+Pug(jade)+Stylus环境

     一、开发环境配置

    开始之前,假设你已经安装了最新版本的 node 和 npm。

    全局安装 vue-cli 和 webpack :

    npm install vue-cli webpack -g

    创建工程;工程名字不能用中文,英文也建议小写。

    vue init webpack 项目名

    按照步骤一步一步执行,需要你添加 Project nameProject descriptionAuthor.

    然后使用 npm install 安装官方库。

    然后使用npm run dev运行我们的项目后浏览器会自动弹出,并展示以下页面。

    可以根据页面给我们的这八个链接获得我们想要的学习资源。

    接下来安装Vue全家桶。

    npm install vue-router vue-resource vuex --save

    如下修改src/main.js :

    import Vue from 'vue'
    import VueResource from 'vue-resource'
    import VueRouter from 'vue-router'
    import Vuex from 'vuex'
    
    import App from './App.vue'
    
    Vue.use(VueResource)
    Vue.use(VueRouter)
    Vue.use(Vuex)
    
    new Vue({
      el: '#app',
      render: h => h(App)
    })

    安装html模板语言pug(jade)

    npm install pug pug-loader pug-filters --save

    安装css 预编译语言stylus

    npm install style-loader stylus stylus-loader --save
    # 或者你习惯用sass或less
    # npm install style-loader node-sass sass-loader --save
    # npm install style-loader less less-loader --save

    打开webpack.config.js,配置loader:

     

    module: {
        rules: [
          {
            test: /.vue$/,
            loader: 'vue-loader',
            options: {
              loaders: {
              }
              // other vue-loader options go here
            }
          },
          {
            test: /.pug$/,
            loader: 'vue-html!pug-html'
          },
          {
            test: /.styl/,
            loader: "style-loader!css-loader!stylus-loader"
          },
    ...

    生成html文件,安装插件` html-webpack-plugin  `。

    npm install html-webpack-plugin --save
    var path = require('path')
    var webpack = require('webpack')
    var HtmlWebpackPlugin = require('html-webpack-plugin')
    
    module.exports = {
      entry: './src/main.js',
      output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'js/build.js',
      },
    
    ...
    
      plugins: [
        new HtmlWebpackPlugin({
          title: 'Charles 的个人主页',
          filename: 'index.html', //生成后的文件名,默认为 index.html.
          template: 'index.html',  //自定义的模板文件
          inject:'body' //script标签位于html文件的 body 底部
        }),
      ]
    }

    提取CSS,提取CSS的插件叫`extract-text-webpack-plugin`,这个不是webpack自带的,需要自己安装。

    npm install extract-text-webpack-plugin --save

    原来的`style-loader`就要修改了,毕竟我们的目标是将CSS提取出来而不是放在head中, 并且vue文件中<style>里的样式也要提取出来。

    var HtmlWebpackPlugin = require('html-webpack-plugin')
    var ExtractTextPlugin = require("extract-text-webpack-plugin")
    module.exports = {
    ...
    
      module: {
        rules: [
          {
            test: /.vue$/,
            loader: 'vue-loader',
            options: {
              loaders: {
                stylus: ExtractTextPlugin.extract("css-loader!stylus-loader")
              }
            }
          },
          {
            test: /.pug$/,
            loader: 'vue-html!pug-html'
          },
          {
            test: /.styl/,
            loader: ExtractTextPlugin.extract("css-loader!stylus-loader")
          },
    ...
    
      plugins: [
        new HtmlWebpackPlugin(),
        new ExtractTextPlugin("css/style.css")
      ]
  • 相关阅读:
    [leetcode]存在重复
    [leetcode]旋转数组
    git使用方法(持续更新)
    [LeetCode]从排序数组中删除重复项
    Communications link failure--分析之(JDBC的多种超时情况)
    云主机挂载磁盘
    hadoop对于压缩文件的支持
    linux 转移mysql文件操作流程
    MindManager2018 修改过期时间 配置文件路径
    Innodb 中 RR 隔离级别能否防止幻读?
  • 原文地址:https://www.cnblogs.com/cina33blogs/p/7249364.html
Copyright © 2011-2022 走看看