javascript - 使用 requirejs 和 typescript 的 Node 模块
我为一个 node_module 使用 requirejs 和 TypeScript。
https://github.com/Ayolan/validator-extended/blob/master/app.js
它可以工作,但我安装后从 npm 无法加载它。看起来 node_module 上的 requirejs 配置改变了我项目的配置(实际上是 baseUrl 和 nodeRequire 配置)。
有办法在 node_module 上使用 TS 和 requirejs 吗?
答案#1
Node.js 不使用 JavaScript 模块的 AMD 规范,而是使用 CommonJS 模块。你需要告诉 TypeScript 编译器将你的模块编译为这个规范。这可以通过向编译器传入 --module "commonjs" 标志轻松实现。
请注意,尽管 CommonJS 规范使用 require 关键字,但这与 RequireJS 完全不同。Node.js 并不依赖 RequireJS 来加载模块,它有自己基于 CommonJS 规范的模块加载器。
简而言之:尽量避免使用 RequireJS 和 node.js。
答案#2
他的问题很有道理。在 Node 中使用 requirejs 相对于标准的 commonjs 有许多优点:http://requirejs.org/docs/node.html
如何使用 AMD/Requirejs 构建节点模块: http://requirejs.org/docs/node.html#nodeModules