前端项目搭建


一、vue2+elementUI

1、初始化项目

环境 Node 12 以下

全局安装 webpack

npm install webpack@3.6.0 -g

全局安装 vue 脚手架

npm install -g vue-cli

初始化 vue 项目

vue init webpack my-project
npm install

2、打包配置

修改config/index.js 文件

里面的dev是开发环境,build是打包部署运行的版本。

找到build下面的 assetsPublicPath: ‘/’,然后修改为 assetsPublicPath: ‘./’(即“/”前加点)

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: './',        // 修改此处
    ...
}

上面这步修改完可能有些直接npm run build打包后项目都正常了,可跳过下面第二步,如果打包后运行有类似下面的报错,需进行下面第二步的配置。

类似打包出错显示空白页,或者Failed to load resource: net::ERR_FILE_NOT_FOUND

修改 build/webpack.prod.conf.js 文件

在里面的output添加参数:publicPath:’./’

  ...
  output: {
    path: config.build.assetsRoot,
    publicPath: './',  // 修改此处
    filename: utils.assetsPath('js/[name].[chunkhash].js'),
    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
  },
  ...

element ui 字体文件加载出错

打开 build/utils.js 文件,在如下位置添加 publicPath: ‘…/…/’

    ...
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader',
        publicPath: '../../'  // 修改此处
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
    ...

然后就可 run npm build

3、环境隔离

区分后端正式环境和测试环境的接口地址

创建文件 : /static/config/index.js

/**
 * 开发环境
 */
;(function () {
  window.SITE_CONFIG = {};

  // api接口请求地址
  window.SITE_CONFIG['baseUrl'] = 'http://localhost:8000/api';

  // cdn地址 = 域名 + 版本号
  window.SITE_CONFIG['domain']  = './'; // 域名
  window.SITE_CONFIG['version'] = '';   // 版本号(年月日时分)
  window.SITE_CONFIG['cdnUrl']  = window.SITE_CONFIG.domain +                window.SITE_CONFIG.version;
})();

创建文件:static/config/index-prod.js

/**
 * 生产环境
 */
;(function () {
  window.SITE_CONFIG = {};

  // api接口请求地址
  window.SITE_CONFIG['baseUrl'] = '正式环境路径';

  // cdn地址 = 域名 + 版本号
  window.SITE_CONFIG['domain']  = './'; // 域名
  window.SITE_CONFIG['version'] = '';   // 版本号(年月日时分)
  window.SITE_CONFIG['cdnUrl']  = window.SITE_CONFIG.domain + window.SITE_CONFIG.version;
})();

修改 index.html,按条件引入两个js的立即执行文件

process.env.NODE_ENV 参数:通过 npm run build 打包时,会在build/build.js 中对其进行赋值

process.env.NODE_ENV = 'production'

而通过 npm run dev 运行项目时,不会对其赋值

  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>rabbit-front</title>
    <% if (process.env.NODE_ENV === 'production') { %>
    <!-- 生产环境 -->
    <script src="./static/config/index-prod.js"></script>
    <% }else { %>
    <!-- 开发环境 -->
    <script src="./static/config/index.js"></script>
    <% } %>
  </head>

安装 element-ui

npm i element-ui -S

二、React

三、微信小程序+vant

(1)通过微信开发者工具初始化项目

(2)初始化为 npm 项目

在项目目录下执行

npm init

(3)安装vant/weapp

npm i @vant/weapp -S --production

(4)构建npm

微信开发者工具:工具 - 构建 npm

image-20220527230333386

右上角的详情—本地设置—-(勾选)使用npm模块(高版本的微信开发者工具可能没有)

(5)修改 project.config.json

开发者工具创建的项目,miniprogramRoot 默认为 miniprogrampackage.json 在其外部,npm 构建无法正常工作。

需要手动在 project.config.json 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。

{
  ...
  "setting": {
    ...
    "packNpmManually": false,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./miniprogram/"
      }
    ]
  }
}

注意: 由于目前新版开发者工具创建的小程序目录文件结构问题,npm构建的文件目录为miniprogram_npm,并且开发工具会默认在当前目录下创建miniprogram_npm的文件名,所以新版本的miniprogramNpmDistDir配置为’./‘即可

有个坑,project.config.json里面的”packNpmManually”值一定要是flase,vant组件里面写的都是true,这是一个巨坑

(6)防止样式 冲突

删除 app.json 下的 "style": "v2"

四、gnvm

1、安装gnvm

1、要用管理员权限启动cmd;2.确保node是空闲的(将使用中的node关闭)

2、安装gnvm:

  gnvm下载地址:64-bit 链接:https://pan.baidu.com/s/1IN02LwtkFIqKluA4HQjFdw 提取码:c0qu

  (1)下载完以后会有一个gnvm.exe 文件

  (2)将gnvm.exe 文件放在Node.js 所在的文件夹,

3、验证gnvm是否可用:

gnvm version

4、这时候就可以使用gnvm指令管理node版本了

2、gnvm相关指令

1、安装多个 node 版本

gnvm install latest     # 安装最新版本的 node 
gnvm install 10.0.0     # 安装指定版本,也可以指定安装32位或64位,eg: gnvm install 10.0.0-x64
gnvm update latest     #更新本地 latest 的 node 版本

2、卸载任意版本的 node

gnvm uninstall latest    # 卸载最新版本的 node 
gnvm uninstall 10.0.0   # 卸载指定版本

3、查看本地所有安装的 node 版本

gnvm ls

4、切换任意版本的 node

gnvm use 10.0.0

5、安装 npm

gnvm npm latest

6、安装淘宝镜像

gnvm config registry TAOBAO

  目录