🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 7\. JS 需要封装 前些年我们了解了全局变量的风险,值得庆幸的是,现在有很多的方法来封装JS: * [Immediately Invoked Function Expressions](https://en.wikipedia.org/wiki/Immediately-invoked_function_expression) (aka IIFE) * [Revealing Modules](http://addyosmani.com/resources/essentialjsdesignpatterns/book/#revealingmodulepatternjavascript) * [AMD](http://requirejs.org/docs/whyamd.html) (typically via [RequireJS](http://requirejs.org/)) * [CommonJS](http://www.sitepoint.com/understanding-module-exports-exports-node-js/) (used by [Node.js](https://nodejs.org/), use in browser via [Browserify](http://browserify.org/) or [Webpack](http://webpack.github.io/)) * [ES6 modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Browser_compatibility) ES6模块是未来。好消息是,虽然在浏览器中还不能很好的支持,但你可以用 [Babel](https://babeljs.io/) 来使用它。 如果你不想 transpile, CommonJS可能是你最佳的选择。由于 Node 使用的 CommonJS 模式,所以你可以使用[npm](https://www.npmjs.com/) 来下载数千个包。CommonJS 不能在浏览器中运行,所以你可能需要  [Browserify](http://browserify.org/),[Webpack](http://webpack.github.io/), or [JSPM](http://jspm.io/).