zoukankan      html  css  js  c++  java
  • 手动搭建vue-cli时,出现的错误

    webpack打包模块的源码 执行顺序

    1 把所有的模块代码放入函数中,用一个数组保存起来
    2 根据require时传入的数组索引,能知道需要哪一段代码
    3 从数组中,根据索引取出包含我们代码的函数
    4 执行该函数,传入一个对象 module.exports
    5 我们的代码,按照约定,正好是用module.exports ='xxx'进行赋值
    6 调用函数结束后,module.exports从原来的空对象,就由值了
    7 最终return module.exports 作为require函数的返回值

    style-loader css-loader

    遇到后缀为css的文件,webpack显用css-loader加载器去解析这个文件,最后计算完的css,将会使用style-loader生成一个内容为最终解析完的css代码的style标签,放在head中;webpack的打包过程中,遇到后缀为css的文件,就会使用style-loader和css-loader中加载这个文件

    webpack最终将各个模块打包成一个文件,因此我们样式中的url路径时相对如接口html页面的,而不是相对于原始css文件所在的路径的。
    这就是导致图片引入失败,这个问题使用file-loader解决的,file-loader可以解析项目中的url引入,(不仅限于css),根据我们的配置,将图片
    拷贝到响应的路径,再根据我们的配置,修改打包后文件引用路径,使之指向正确的文件
    对于简易比较小的图片,使用base64编码,可以减少一次图片的网络请求,那么对于比较大的图片,使用base64就不合适了,编码会和html混在一起,
    一方面可读性查,另一方面加大了html页面的大小,反而加大了下载页面的大小,得不偿失,因此设置一个合理的limit是非常由必要的。

    webpack-dev-server

    --open 自动打开浏览器
    --hot 热更新,不再刷新的额情况下替换css样式
    --port 9999 指定端口
    --inline 自动刷新
    --process 显示编译进程
    在package.json中设置

    es6解析

    解析es6需要使用babel

    babel-core是核心模块

    babel-core的作用是把js代码分析成ast(抽象语法树),方便各个插件分析语法进行相应的处理。有些新语法在低版本的js中
    不存在的,如箭头函数 reset参数 函数默认值等,这种语言层面的不兼容只能通过将代码转为aet,分析其语法后再转为
    低版本js
    babel转义器本身,提供了babel的转译API,如babel transfrom等,用于对代码进行转译,像webpack的babel-loader
    就是调用这些API来完成转译的过程的。

    babel-loader

    再将es6的代码transform进行转义时,就是通过babel-loader来完成的。

    babel-preset-env

    如果要自行配置转译过程中使用的各类插件所以babel官方帮我们做了一些预设的插件集,称之为preset,这样我们只需要使用对应的preset就可以了,以js标准为例,
    babel提供例如如下的一些preset:
    es2015 es2016 es2017 env
    es20xx的preset只转译该年份批准的标准,而env则代指最新的标准,包括latest和es20xx各年份,另外,还有stage-0到
    stage-4的标准成形之前的各个阶段,这些都是实验版的preset,建议不要使用。

    babel-plugin-transform-runtime

    babel编译时只转换语法,几乎编译所有新的js语法,但不会转化DOM里面不兼容API比如 Promise Set Symbol Array.from
    awit async等等API

    npm install babel-core babel-loader babel-preset-env babel-plugin-transform-runtime -D

    编译的时候需要排除node_modules下的代码:
    因为js的编译速度很慢,一般发布在npm上的代码都有源代码和编译后的代码,同时默认引用的是编译以后的代码。如果不
    排除,就是编译后的又编译一边,没有任何效果,还浪费时间

    单文件引入

    webpack中使用vue搭建单页面应用,安装vue-loader  vue-template-compiler

    配置loader

    报错:

    需要加载插件:

     

     运行报错:

     需要修改代码:

     在.vue文件中引入img src显示:

     修改配置:

     默认是true

    在开发模式下.vue文件中写的样式,使用extract-text-webpack-plugin 打包之后,没有了,需要安装vue-style-loader

    npm install vue-style-loader --save-dev

    不需要配置,默认情况下在vue-loader中使用,是基于style-loader的fork。

  • 相关阅读:
    WPF开发进阶
    WPF开发进阶
    java 架构好文章
    Logback 输出 JPA SQL日志 到文件
    Linux Bash Shell j简单入门
    java内存空间简述
    PowerDesigner 16.5 反向PostgreSQL9.01 中 Unable to list the columns. SQLSTATE = 22003不良的类型值 short : t 解决方法
    Java代码自动部署
    Oracle优化技巧
    string类型与ASCII byte[]转换
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/13032005.html
Copyright © 2011-2022 走看看