美文网首页
电商_后台管理[4]

电商_后台管理[4]

作者: Mark同学 | 来源:发表于2019-12-19 23:42 被阅读0次

可以完美运行的demo

安装 Node.js

  • nvm install 6.12.3
  • nvm use 6.12.3
  • nvm alias default 6.12.3

安装 Yarn@1.21.1(官网默认版本)

  • npm install yarn -g

安装 webpack

配置 webpack

webpack.config.js

const path = require('path')
module.exports = {
  entry: './src/app.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'app.js'
  }
}

src/app.js

console.log('hello')
  • node_modules/.bin/webpack

处理 html

const HtmlWebpackPlugin = require('html-webpack-plugin')
// ...
plugins: [new HtmlWebpackPlugin()]
  • yarn add html-webpack-plugin@2.30.1 --dev
  • node_modules/.bin/webpack

打包指定的 html

  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    })
  ]

src/index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="author" content="Mark">
  <title>HAPPYMMALL ADMIN</title>
</head>
<body>
  <div id="app">test</div>
</body>
</html>
  • node_modules/.bin/webpack

处理 js

  • yarn add babel-loader@7.1.2 babel-core@6.26.0 babel-preset-env@1.6.1 --dev
    webpack.config.js
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['env']
          }
        }
      }
    ]
  }

src/app.js

let a = 123
let test = (value) => {
  return value * 2
}
test(a)
  • node_modules/.bin/webpack

处理 react

  • yarn add babel-preset-react@6.24.1 --dev
    webpack.config.js
presets: ['env', 'react']

安装 react

  • yarn add react@16.2.0 react-dom@16.2.0
    src/app.js
import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('app')
);
  • node_modules/.bin/webpack
  • 浏览器打开 dist/index.html

处理 css

  • yarn add style-loader@0.19.1 css-loader@0.28.8 --dev
    webpack.config.js
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader'
        ]
      }

src/index.css

#app {
  color: red;
}

src/app.js

import './index.css'
  • node_modules/.bin/webpack

css 独立打包

  • npm install --save-dev mini-css-extract-plugin
    webpack.config.js
const path = require('path')
var HtmlWebpackPlugin = require('html-webpack-plugin');
var { CleanWebpackPlugin } = require('clean-webpack-plugin')
+var MiniCssExtractPlugin = require("mini-css-extract-plugin")
var webpack = require('webpack')

module.exports = {
  mode: 'development',
  devtool: 'cheap-module-eval-source-map',
  entry: {
    main: './src/index.js',
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].js'
  },
  module: {
    rules: [{ 
      test: /\.js$/, 
      exclude: /node_modules/, 
      loader: 'babel-loader'
    },{
      test: /\.(png|jpg|gif)$/,
      use: {
        loader: 'url-loader',
        options: {
          name: '[name].[ext]',
          outputPath: 'images/',
          limit: 2048
        }
      }
    },{
      test: /\.css$/,
      use: [
        'style-loader',
+        {
+          loader: MiniCssExtractPlugin.loader
+        },
        "css-loader",
        'postcss-loader'
      ]
    },{
      test: /\.scss$/,
      use: [
        'style-loader',
        {
          loader: 'css-loader', 
          options: {
            importLoaders: 2
          }
        },
        'sass-loader',
        'postcss-loader'
      ]
    },{
      test: /\.(eot|ttf|svg|woff)$/,
      use: {
        loader: 'file-loader',
      }
    }]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: 'src/index.html'
    }), 
    new CleanWebpackPlugin(),
    new webpack.HotModuleReplacementPlugin(),
+    new MiniCssExtractPlugin({
+      filename: "index.css"
+    })
  ],
  devServer: {
    contentBase: './dist',
    open: true,
    port: 8080,
    hot: true,
    hotOnly: true
  }
}
  • node_modules/.bin/webpack

处理 sass

  • yarn add sass-loader --dev

webpack.config.js

{
      test: /\.scss$/,
      use: [
        'style-loader',
+        {
+          loader: MiniCssExtractPlugin.loader
+        },
        {
          loader: 'css-loader', 
          options: {
            importLoaders: 2
          }
        },
        'sass-loader',
        'postcss-loader'
      ]
    }

src/index.scss

body {
  background: #ccc;
  #app {
    font-size: 100px;
  }
}

src/app.js

import './index.scss'
  • yarn add node-sass --dev
  • node_modules/.bin/webpack

处理 font-awesome

  • 'npm install font-awesome'
  • app.js
import 'font-awesome/css/font-awesome.min.css'
<i className='fa fa-address-booke'></I>

提出公共模块

代码提交

代码提交
  • git st
  • git diff
  • git dt
  • git co -b admin-v2
  • git b
  • git add .
  • git ca "初始化"
  • git push
  • git push --set-upstream origin admin-v2

相关文章

  • 电商_后台管理[4]

    可以完美运行的demo 安装 Node.js nvm install 6.12.3 nvm use 6.12.3 ...

  • B端产品的5个主要就业方向

    一、ERP、CRM、供应链系统 二、电商商家(入驻、管理)、平台管理后台系统 电商商家平台功能:入驻、审核、管理商...

  • 电商后台设计要点

    管理后台之账号管理(一):http://www.woshipm.com/pd/580997.html 电商后台系统...

  • 订单下载服务自动化设计

    电商管理综合平台订单下载服务 我们开发的电商管理综合平台,分为电商ERP客户端和后台订单下载服务两个部分,其中订单...

  • 电商后台产品经理——采购管理

    在电商后台中采购中心这一模块,它是电商公司管理采购的模块,包含供应商管理,采购订单管理,采购商品管理,在该模块中采...

  • 电商后台商品库存管理之——批次管理

    一、批次管理 库存,是电商企业不能回避的问题,如何让仓库商品能够有序的流转,是电商供应链管理后台的重中之重,也是电...

  • Vue电商后台管理系统

    一. 电商项目概述 1. 如何运行项目 代码地址:Vue电商后台管理系统[https://github.com/i...

  • 电商后台(订单管理)

    订单是电商体系的核心,有了订单才有业绩和盈利。 订单中包含商品、优惠、用户、收货信息、支付信息等一系列实时数据。通...

  • 电商后台:库存管理

    库存管理,简单的说,就是管理商品和数量之间的关系。库存系统是电商后台系统中不可或缺的一部分,文章对库存管理系统做了...

  • 跨境电商卖家后台设计(商品上传)

    不论国内电商还是跨境电商,商品发布及管理、订单流转及管理对于卖家来说都是核心关注点。搭建卖家后台的第一优先级为商...

网友评论

      本文标题:电商_后台管理[4]

      本文链接:https://www.haomeiwen.com/subject/ptzvnctx.html