1. 判断是否为严格模式
在非严格模式下,函数的调用上下文(this的值)是全局对象;在严格模式下,函数的调用上下文是undefined。
var strict = (function(){return this === undefined})
2.对于中间件的理解
随着计算机技术的发展,IT厂商出于商业和技术利益的考虑,各自产品之间形成了差异,技术在不断
进步,但差异却并没有因此减少。计算机用户出于历史原因和降低风险的考虑,必然也无法避免多厂
商产品并存的局面。于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软件开发与工作的复杂
性,就称为技术不断进步之后,人们不能不面对的现实问题。
显然,由一个厂商去统一多产品之间的差异是不可能的,而单独由计算机用户在自己的应用软件中去
弥补其中的大片空挡,由于技术深度和技术广度的要求,必然也是勉为其难。于是,中间件应运而生
。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。
在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层
的东西,越底层越复杂,开发者不得不面临很多棘手的问题,如操作系统的多样性,繁杂的网络程序
设计、管理、复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全等等。这
些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不
能将应用软件索要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成
千上万的应用软件重复使用,这一技术思想最终构成了中间件这类的软件。
3.vue.config.js
module.exports = {
//生成环境部署路径,默认为'/'
publicPath: process.env.NODE_ENV === 'production'
? '/production-sub-path/'
: '/'
//当运行 build 时生成的生产环境构建文件的目录
outputDir:'dist',
//放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录
assetsDir:'',
//指定生成的 index.html 的输出路径 (相对于 outputDir)
indexPath:'index.html',
//默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存,可设置false关闭
filenameHashing:true,
//在 multi-page (多页面应用)模式下构建应用
pages: {
index: {
// page 的入口
entry: 'src/index/main.js',
// 模板来源
template: 'public/index.html',
// 在 dist/index.html 的输出
filename: 'index.html',
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: 'Index Page',
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
chunks: ['chunk-vendors', 'chunk-common', 'index']
},
// 当使用只有入口的字符串格式时,
// 模板会被推导为 `public/subpage.html`
// 并且如果找不到的话,就回退到 `public/index.html`。
// 输出文件名会被推导为 `subpage.html`。
subpage: 'src/subpage/main.js'
},
//是否在开发环境下通过 [eslint-loader](https://github.com/webpack-contrib/eslint-loader) 在每次保存时 lint 代码
lintOnSave:true,
//调整 webpack 配置最简单的方式就是在 vue.config.js 中的 configureWebpack 选项提供一个对象:1.如果这个值是一个对象,则会通过 [webpack-merge](https://github.com/survivejs/webpack-merge) 合并到最终的配置中
configureWebpack: {
plugins: [
new MyAwesomeWebpackPlugin()
]
},
//2、如果这个值是一个函数,则会接收被解析的配置作为参数。该函数及可以修改配置并不返回任何东西,也可以返回一个被克隆或合并过的配置版本。
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
// 为生产环境修改配置...
} else {
// 为开发环境修改配置...
}
},
devServer: {
proxy: 'http://localhost:4000',//这会告诉开发服务器将任何未知请求 (没有匹配到静态文件的请求) 代理到http://localhost:4000
}
}
4.transform对定位元素的影响
当给一个元素添加transform属性的时候,这个元素就会具有relative的特性,子元素做定位时要注意。