zoukankan      html  css  js  c++  java
  • vue-cli 3.0 开发单页应用

    Error: getaddrinfo ENOTFOUND localhost

    启动 vue ui 的时候,报这个错误。解决方式:打开 host 文件,把 127.0.0.1 绑定上 localhost 。

    手机访问 出现 invalid host header

    用手机访问本地服务时,会出现这个提示,在 devServer 的配置里加上一个:disableHostCheck: true,关闭 host 检查。

    配置 webpack alias

    配置 alias 别名,就不用纠结文件路径层级这些了。

    // vue.config.js
    module.exports = {
        ...,
        chainWebpack: (config)=>{
            config.resolve.alias
                .set('@', resolve('src'))
                .set('@assets',resolve('src/assets'))
                .set('@components',resolve('src/components'))
                .set('@utils',resolve('src/utils'))
        }
    }
    

    配置sass 全局变量

    都需要使用vue.config.js
    执行 npm install --save-dev sass-resources-loader

    判断开发环境和生产环境

    使用process.env.NODE_ENV来判断,在所有的文件里面都可以访问到这个变量。

    使用Vue ui 里面的 tasks 可以直接运行命令行 比如打包、检查等,还可以直接安装依赖和插件。

    组件和路由的按需加载

    组件和路由都是按照这样的方式引入,这样就可以做到在单页页面上,同样是按照跳转页面之后才会页面对应的js。
    原来:
    import Component from '@components/Component'
    现在:
    const Component = () => import('@components/Component')

    添加百度统计

    单页应用如果需要统计到每一页的数据,在 vue 路由的钩子事件里面动态的添加统计代码。

    Routers.afterEach((to, from) => {
    	// 添加百度统计代码
        setTimeout(() => {
            var _hmt = _hmt || [];
            if(process.env.NODE_ENV!=='development'){
            (function() {
                //每次执行前,先移除上次插入的代码
                document.getElementById('baidu_tj') && document.getElementById('baidu_tj').remove()
                var hm = document.createElement("script")
                hm.src = "https://hm.baidu.com/hm.js?********************"
                hm.id = "baidu_tj"
                var s = document.getElementsByTagName("script")[0]
                s.parentNode.insertBefore(hm, s)
            })()
        }, 0)
    }
    })
    

    打包后,部署到服务器子目录上

    如果不指定资源文件夹,vue 默认是打包在根目录下的,如果文件夹放在服务器上的子目录下,那就要单独配置一下了,vue-cli-3 里面配置起来也还比较简单:
    第一步,打开 vue.config.js ,把 baseUrl 设置成为 /child-folder-name/ 。这时候你再看打包出来的 index.html,文件引入的路径都加上了子目录的前缀。
    第二步,打开你的路由配置文件 router.js ,把 base 设置成 /child-folder-name/,欧了,大功告成了。

  • 相关阅读:
    Altium Designer中各层的含义
    国外现在有哪些众筹网站呢?
    C# 代码 手工 配置 Log4Net 2种方法
    Windows 7 里进程管理器里面的各列是什么含义?主要是和内存有关的内存-专用工作集,内存-工作集,内存-提交大小???
    C# .Net 下 x86使用大内存的处理
    CV学习日志:CV开发之关联Gazebo/Webots/ROS2
    CV学习日志:CV开发之Windows10环境搭建
    CV学习日志:CV开发之Ubuntu2004和WLS2环境搭建
    ROS2学习日志:ROS2Cartgrapher使用与调试
    ROS2学习日志:QoS要点总结
  • 原文地址:https://www.cnblogs.com/linxue/p/10120768.html
Copyright © 2011-2022 走看看