2020年10月

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <script>if (/*@cc_on!@*/false || (!!window.MSInputMethodContext && !!document.documentMode)) window.location.href="https://zdb.im/ie/index.html?referrer="+encodeURIComponent(window.location.href); </script>

如果composer.json 的 devDependencies有

    "@vue/eslint-config-standard": "^5.1.2",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.0",
    "eslint-plugin-vue": "^6.2.2",

.eslintrc.js配置是:

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/essential',
    '@vue/standard'
  ],
  parserOptions: {
    parser: 'babel-eslint'
  },
  rules: {
    'no-console': 'off',
    'no-debugger': 'off',
  }
}

如果composer.json 的 devDependencies有

    "@vue/eslint-config-prettier": "^6.0.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-prettier": "^3.1.3",
    "eslint-plugin-vue": "^6.2.2",

.eslintrc.js配置是:

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/essential',
    'eslint:recommended'
  ],
  parserOptions: {
    parser: 'babel-eslint'
  },
  rules: {
    'no-console': 'off',
    'no-debugger': 'off'
  }
}

建议配置 postcss-pxtorem 和 postcss-px2rem-exclude (排除目录) 和 lib-flexible (设置根字体大小),

以下函数的效果与 lib-flexible 类同, css中使用rem单位;

// 设置 rem 函数
function setRem () {

    // 320 默认大小16px; 320px = 20rem ;每个元素px基础上/16
    let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
    //得到html的Dom元素
    let htmlDom = document.getElementsByTagName('html')[0];
    //设置根元素字体大小
    htmlDom.style.fontSize= htmlWidth/20 + 'px';
}

setRem();// 初始化

// 重新设置 rem
window.onresize = function () {
    setRem()
}

如果是vue项目, 则使用postcss批量转换px至rem, 即CSS中只要写px单位即可

文件名.editorconfig

vue项目

root = true

[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf

php项目

root = true

[*.{js,json,php,md}]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf

其他项目

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

关于git换行符处理的问题,自己的设置中,global-config中设了core.autocrlf=false,systemwide中将autocrlf设成了true.
关于配置的作用域,systemwide>global>local。local没有配置,global会覆盖systemwide的配置,因此最终生效的是“autocrlf=false”。

这句的意思是“在提交与检出代码的时候均不对换行符进行转换”, 配置说明 :

首先crlf是windows下的换行符,而lf是unix下的换行符。

autocrlf =true 表示要求git在提交时将crlf转换为lf,而在检出时将crlf转换为lf。  
autocrlf = false表示提交和检出代码时均不进行转换  
autocrlf = input 表示在提交时将crlf转换为lf,而检出时不转换  

idea右下角那儿关于文件的换行符,使用的地crlf,,这表明当前使用的是CRLF换行符,而autocrlf又是false,这会使得代码仓库中出现混合换行符,git中另有一个配置项,名叫“safecrlf”默认值是“warn”,因此git在提交时会弹出关于这个问题的提示,如果忽略了它---—在某次操作中顺手将其设为了“不再提示”,这导致后来safecrlf的值就被改为了false.

因此,可以单击右下角这个换行符标志,将其改为“LF”,同时把全局配置改为autocrlf=input,以使仓库中只保留Unix换行符。

另外,git有一个safecrlf,默认是false,可以改成true,表示拒绝提交混合换行符的代码。当然这可能会造成烦人的提示,但对于windows下的特殊情况可以这样设置。它的具体配置含义如下:

safecrlf = true 表示 拒绝提交包含混合换行符的文件
safecrlf = false 表示 允许…
safecrlf = warn 表示警告