Node.js & module system

Node.js v10.9.0 Documentation

https://nodejs.org/api/modules.html#modules_modules

https://nodejs.org/api/modules.html#modules_the_module_wrapper
https://nodejs.org/api/modules.html#modules_exports_shortcut


CommonJS

CommonJS module system

http://nodejs.wikia.com/wiki/Modules

https://requirejs.org/docs/whyamd.html#commonjs
http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
https://darrenderidder.github.io/talks/ModulePatterns/#/

https://addyosmani.com/writing-modular-js/

CJS

http://unscriptable.com/2011/09/30/amd-versus-cjs-whats-the-best-format/
http://www.commonjs.org/

Asynchronous Module Definition (AMD)

https://requirejs.org/docs/whyamd.html
https://github.com/amdjs/amdjs-api/wiki/AMD

UMD

UMD: Universal Module Definition

https://www.davidbcalhoun.com/2014/what-is-amd-commonjs-and-umd/

https://www.zhihu.com/question/20351507


node.js & exports & module.exports

node.js

  1. Functions and objects are added to the root of a module by specifying additional properties on the special exports object.

https://www.w3schools.com/nodejs/nodejs_modules.asp

https://www.sitepoint.com/understanding-module-exports-exports-node-js/

npx

https://stackoverflow.com/questions/9679932/how-to-use-package-installed-locally-in-node-modules


nodejs & es6 & import & export

https://stackoverflow.com/questions/31354559/using-node-js-require-vs-es6-import-export

Keep in mind that there is no JavaScript engine yet that natively supports ES6 modules. You said yourself that you are using Babel. Babel converts import and export declaration to CommonJS(require/module.exports) by default anyway. So even if you use ES6 module syntax, you will be using CommonJS under the hood if you run the code in Node.

https://medium.com/the-node-js-collection/an-update-on-es6-modules-in-node-js-42c958b890c

ESM

https://hackernoon.com/node-js-tc-39-and-modules-a1118aecf95e

https://github.com/tc39/proposal-dynamic-import


webpack.config.js

https://github.com/carloluis/webpack-demo/tree/master/config

webpack dev & prod

https://github.com/carloluis/webpack-demo

https://github.com/carloluis/webpack-demo/blob/master/config/webpack.config.dev.js

https://github.com/carloluis/webpack-demo/blob/master/config/webpack.config.prod.js

Node.js & module system的更多相关文章

  1. 如何發佈一個完整Node.js Module

    本文會透過以下幾個段落,讓各位一步一步學習如何寫一個自已的Node.js Module並且發佈到npm package上 Node.js Module 結構 我們先建立一個 NodeModuleDem ...

  2. (转)Node.js module.exports与exports

    本文转自Node.js module.exports与exports 作者: chemdemo 折腾Node.js有些日子了,下面将陆陆续续记录下使用Node.js的一些细节. 熟悉Node.js的童 ...

  3. 创建并发布node.js module

      创建node.js module. 创建一个文件夹,用来存放module. Cd到新创建的文件夹,运行npm init,会提示输入package的信息. 可以按照这个视频的来输入.Test com ...

  4. node.js module.exports & exports & module.export all in one

    node.js module.exports & exports & module.export all in one cjs const log = console.log; log ...

  5. Node.js & module.exports & exports

    Node.js & module.exports & exports https://www.cnblogs.com/xgqfrms/p/9493550.html exports &a ...

  6. node.js module初步理解

    在开发一个复杂的应用程序的时候,我们需要把各个功能拆分.封装到不同的文件,在需要的时候引用该文件.没人会写一个几万行代码的文件,这样在可读性.复用性和维护性上都很差,几乎所有的编程语言都有自己的模块组 ...

  7. Node.js module.exports和exports的区别

    require 用来加载代码,而 exports 和 module.exports 则用来导出代码,从接触node.js就不会它们两陌生,上代码: foo.js exports.a = functio ...

  8. node.js module初步理解-(转载)

    在开发一个复杂的应用程序的时候,我们需要把各个功能拆分.封装到不同的文件,在需要的时候引用该文件.没人会写一个几万行代码的文件,这样在可读性.复用性和维护性上都很差,几乎所有的编程语言都有自己的模块组 ...

  9. How to use Request js (Node js Module) pools

    Can someone explain how to use the request.js pool hash? The github notes say this about pools: pool ...

随机推荐

  1. 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II

    题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...

  2. ACM_查找ACM(加强版)

    查找ACM(加强版) Time Limit: 2000/1000ms (Java/Others) Problem Description: 作为一个acmer,应该具备团队合作能力和分析问题能力.给你 ...

  3. d3学习笔记

    (1)使用enter()函数. 当要创建新的绑定数据的元素,必须使用enter().这个方法会分析当前选择的DOM元素和传给它的数据,如果数据值比对应的DOM元素多,就创建一个新的占位元素.然后把这个 ...

  4. poj1930 Dead Fraction

    思路: 循环小数化分数,枚举所有可能的循环节,取分母最小的那个. 实现: #include <iostream> #include <cstdio> #include < ...

  5. [BZOJ1046][HAOI2007]上升序列 DP+贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1046 我们先求出对于每一个数字作为开头的LCS的长度f[i],最长的f[i]为mxlen. ...

  6. Visual Studio 2013 错误系统找不到指定文件,0x80070002

    错误:Visual Studio 2013 按照成功后,可以创建空web项目,但不能建webform 和 mvc 项目. 提示系统找不到指定文件,0x80070002. 解决方式: Step1: Wi ...

  7. 【C++】类型转换简述:四种类型转换方式的说明及应用

    本文主要简述在C++中四种类型转换的方式:static_cast.reniterpret_cast.const_cast和dynamic_cast. 在介绍C++类型转换方式之前,我们先来看看C语言的 ...

  8. tensorboard及summary data

    (新手上路,如果有不对的地方,望指正.另外有没有小伙伴一起学习交流啊?)   tensorboard为tensorflow提供了可视化,它的重要性不言而喻.   tensorboard是通过读取eve ...

  9. CAD参数绘制样条线(网页版)

    在CAD设计时,需要绘制样条线,用户可以设置样条线线重及颜色等属性. 主要用到函数说明: _DMxDrawX::PathLineTo 把路径下一个点移到指定位置.详细说明如下: 参数 说明 DOUBL ...

  10. 微信小程序---账号注册与开发工具

    (1)申请帐号 进入小程序注册页 根据指引填写信息和提交相应的资料,就可以拥有自己的小程序帐号. 在这个小程序管理平台,你可以管理你的小程序的权限,查看数据报表,发布小程序等操作. 登录 小程序后台  ...