vue 实践记录

打包后使用相对路径

build/webpack.prod.conf.js 的 output 节点添加配置:publicPath: './'

打包时使用shell复制文件

在入口 build/build.js 中使用.

  1. 引入 shelljs库 require('shelljs/global')
  2. 使用示例:cp('-R', 'favicon.ico', config.build.assetsRoot)

不同环境使用不同模式加载路由( vue 开发环境不适用懒加载)

router目录结构

  • _import_production.js 代码 module.exports = file => () => import('@/views/' + file + '.vue')
  • _import_testing.js 代码 module.exports = file => () => import('@/views/' + file + '.vue')
  • _import_development.js 代码 module.exports = file => require('@/views/' + file + '.vue').default
  • 路由中使用
const _import = require('./_import_' + process.env.NODE_ENV)
...
        component: _import('dashboard/index')
...

使用 require.context自动加载模块

使用:const files = require.context(directory, useSubdirectories, regExp)

参数说明

  • directory:说明需要检索的目录
  • useSubdirectories:是否检索子目录
  • regExp: 匹配文件的正则表达式

返回结果

files.keys(): 符合条件的文件路径集合

使用

获取当前目录所有 js 文件并获取导出模块

const files = require.context('.', true, /\.js/)
const modules = {}
files.keys().forEach(key => {
  if (key === './index.js') {
    return
  }
  var mk = key.replace(/(^\.\/|\.js$)/g, '')
  var m = files(key)
  modules[mk] = Object.keys(m).reduce((s, e) => {
    if (e !== 'default') {
      s[e] = m[e]
    }
    return s
  }, m.default||{})
})
//console.log(modules)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT探索

samba

2)增加用户:smbpasswd -a username  ,注:username为linux用户

1232
来自专栏有困难要上,没有困难创造困难也要上!

CentOS7上编译Android系统

52412
来自专栏令仔很忙

新手学JAVA(十一)-多线程----线程的生命周期

当一个线程被创建并启动之后,并不是一开始就处于执行状态,已不是一直处于运行状态。线程也是有生命周期的,包括:创建(New)、就绪(Runnable)、阻塞(B...

981
来自专栏杂烩

dubbokeeper安装 原

git地址https://github.com/dubboclub/dubbokeeper

813
来自专栏pydata

RHadoop环境搭建

在集成R和hadoop之前需要将hadoop以及R运行环境安装好,hadoop的安装可参见hadoop2.4.1安装笔记. 1.下载相关安装包:

982
来自专栏Java3y

Linux进程管理

每个用户均可同时运行多个程序。为了区分每一个运行的程序,Linux给每个进程都做了标识,称为进程号(process ID),每个进程的进程号是唯一的。

2930
来自专栏蓝天

Solution: AC_CONFIG_MACRO_DIR conflicts with ACLOCAL_AMFLAGS

.ibtoolize: AC_CONFIG_MACRO_DIR([./aclocal]) conflicts with ACLOCAL_AMFLAGS=-I ...

861
来自专栏鸡蛋君

Centos7.x下更改SSH的默认端口

2002
来自专栏IMWeb前端团队

hexo 博客利用 github 分支同步源文件

hexo 是一个优秀的静态博客工具,唯一的不足就是源文件无法同步,让人几乎只能在一台电脑上写博客,为了解决这个问题,我们可以使用 Github 来管理我们...

24510
来自专栏Python爬虫与数据挖掘

在Ubuntu14.04中配置mysql远程连接教程

上一篇文章,小编带大家学会了在Ubuntu14.04中安装MySQL,没有来得及上课的小伙伴们可以戳这篇文章:如何在Ubuntu14.04中安装mysql,今天...

871

扫码关注云+社区

领取腾讯云代金券