# awesome-code-snippets **Repository Path**: i_wang1212/awesome-code-snippets ## Basic Information - **Project Name**: awesome-code-snippets - **Description**: Some great code snippets that are very useful and reusable. | 一些非常棒、可重用的代码片段。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Awesome-Code-Snippets

:heart: 很棒的且可重用的代码片段。

## 目录 *Content.* - [HTML Template](https://wang1212.github.io/awesome-code-snippets) - [Leaflet-With-Plugins](https://wang1212.github.io/awesome-code-snippets/leaflet-with-plugins.html) - [Cesium.js](cesiumjs.md) ## 代码片段 *Code Snippets.* ### JavaScript - [ESRI Shapefile][2] 文件中 [dbf][1] 文件的属性字段类型 *[Field data type][0] mapping in the [dbf][1] file of [ESRI Shapefile][2].* [0]: http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm "Data File Header Structure for the dBASE Version 7 Table File" [1]: https://www.loc.gov/preservation/digital/formats/fdd/fdd000326.shtml "dBASE Table for ESRI Shapefile (DBF)" [2]: https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf ```javascript { B: 'Binary', C: 'Character', D: 'Date', N: 'Numeric', L: 'Logical', M: 'Memo', '@': 'Timestamp', I: 'Long', '+': 'Autoincrement', F: 'Float', O: 'Double', G: 'OLE' } ``` ### HTML - `MediaDevices.getUserMedia()` vs `` 为了使用 JavaScript 在移动终端上调用媒体设备(相机/麦克风等),H5 API 提供了 [`MediaDevices.getUserMedia()`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia),但是存在许多兼容性问题;然而,你可以使用 `input` 标签的 [`capture`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#capture) 属性作为备选方案。 ``` // `accept` attribute can restrict media type. // no accept - When the accept attribute does not exist, it will include the camera / camcorder / recorder / file system. // accept=image/* - camera only. // accept=video/* - camcorder only. // accept=audio/* - recorder only. ``` ### CSS - 使用 [`@media`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media) 隐藏不需要打印的 DOM 元素 ```css @media print { .not-print { display: none; } } ``` 标记不需要打印的 DOM 元素: ```html
``` - 使用 CSS 规则 [`break-before`](https://developer.mozilla.org/en-US/docs/Web/CSS/break-before) 和` break-after` 在打印时强制分页: ```css .page { break-before: auto; break-after: always; } ``` 然后: ```html
Page One
Page Two
``` - 使用 [`CSS contain`](https://developer.mozilla.org/en-US/docs/Web/CSS/contain) 优化性能 ```css contain: strict; ``` ### Node.js - 在 Node.js 中用 **POST** 请求提交 `multipart/form-data` 表单数据 Node.js 默认对 `multipart/form-data` 数据在请求时不进行编码,[form-data](https://github.com/form-data/form-data) 模块提供了解决方案: ```javascript import FormData from 'form-data' import axios from 'axios' const formData = new FormData() formData.append('username', username) formData.append('password', password) // `headers` are very important axios.post(api, formData, { headers: formData.getHeaders() }) ``` - `npm link` 在 Node.js 模块/包开发中,`npm link` 命令可以在本地进行发布前调试,但会造成一点的问题和文件夹污染,下面提供一个更干净的方式: ```json "dependencies": { "my-dev-module": "file:../my-dev-module/index.min.js" } ``` - 移除 *node_modules* 文件夹 *node_modules* 文件夹通常包含大量文件,要在 **Windows** 系统上删除该文件夹需要耗费很长时间,提供一个有用的命令来快速删除该文件夹: ```cmd rmdir "node_modules\" /S /Q ``` - 安装 `node-sass` 安装 `node-sass` 的过程中总会出现网络错误,可以使用国内镜像源进行安装: *It is easy to **fail** to install in **China** in the normal way. Can be installed in the following ways:* ```shell npm i -D node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ ``` 现在,推荐使用 [`sass`](https://www.npmjs.com/package/sass) 作为替代。 ## 其它 *Other.* The reason this repository exists is because gistub's gist cannot be accessed in the normal way.