Tag: commonjs

typescript node.js表示路由分隔文件的最佳实践

在一个Node项目中使用Express以及Typescript,那么express.Router将成为“最佳实践”。 示例目录结构 |directory_name —server.js |–node_modules |–routes —index.ts |–admin —admin.ts |–products —products.ts |–authentication —authentication.ts 所以在index.ts里面会封装和pipe理所有的子路由器 //admin.ts (nested inside of index.ts) import * as express from "express"; export = (() => { let router = express.Router(); router.get('/admin', (req, res) => { res.json({success: true}); }); return router; })(); //index.ts (master file for express.Router) import * as express from […]

ES6和CommonJS出口惯例的缺点

对于由package.json定义的npm模块的main文件,我正在考虑一个这样的模式: import Struct from './src/struct' module.exports = Struct module.exports.default = Struct 为了支持CommonJS和ES6导入: const Struct = require('my-module') // or import Struct from 'my-module' 这个公约有什么缺点可能导致意想不到的问题吗? 我试图解决的问题是不得不迫使这个软件包的用户坚持ES6或CommonJS,因为这两者看起来相当令人讨厌: const Struct = require('my-module').default // or import * as Struct from 'my-module' 进一步考虑这个之后,会在/src/struct.js定义我的类是否更好? export default class Struct { static get default () { return Struct } … }

将整个模块拉入当前作用域Node.js

我试图在需求调用后将整个模块拖入另一个文件的当前范围。 例如,如果我的模块看起来像这样: exports.chai = require "chai" exports.mocha = require "mocha" exports.Q = require "q" 那么我怎样才能像当前文件中的全局variables那样访问各个variables呢? 所以,而不是像requireVar.chai做什么,我可以只键入柴? 感谢您的任何build议

Visual Studio不能将JavaScript输出组合成一个文件。 我需要做更多的调整吗?

我之前设置的设置如上图所示。 我不知道我该怎么做才能完成将所有.ts文件合并成一个.js文件。

TypeScript:如何告诉WebStorm使用CommonJS而不是AMD

我正在使用WebStorm在TypeScript中构build一个Node.js应用程序。 当我编写“require”语句时,TypeScript编译器使用AMD。 我通过asynchronous模式输出js知道它。 我怎么能告诉WebStorm使用CommonJS呢?

这两个module.exports有什么区别?

所以第一个是这样的: myFile.js var name = "Peter"; module.exports.sayHello = function () { console.log('Hello ' + name); } 而第二个 myFile.js module.exports = function () { var name = 'Mary'; function sayHello () { console.log('Hello ' + name); } return { sayHello : sayHello }; }(); 基本上它是一回事吗? 如果不是,每种方法有什么区别和优缺点?

node.js模块导出

这是什么原因: exports.foo = 'foo'; var bar = require('./foo'); console.log(bar); // {foo: 'foo'} 但是这不是: var data = { foo: 'foo' }; exports = data; var bar = require('./foo'); console.log(bar); // {} // expected {foo: 'foo'}

错过原型function的时候“新”一个实例

我在nodejs中写了一个模块,Test.js,代码打击 function Test() { this.key = 'value'; } Test.prototype.foo = function () { return 'foo'; } module.exports = Test; 然后在B.js var Test = require('./services/Test'); var test = new Test(); console.log(test.foo()); 不幸的是,我得到了“未定义的方法富”,任何人谁可以告诉我什么事情? 非常感谢

CommonJS导出函数上的Closure编译器检查types?

我有以下文件; 名为test.js (入口点)的第一个文件: 'use strict'; var include = require('./test.include'); console.log(include('123', 2)); 第二个文件名为test.include.js : 'use strict'; /** * Calculates the sum of a and b. * @param {number} a * @param {number} b * @return {number} */ module.exports = function(a, b) { return a + b; } 现在我用Closure Compiler编译这个项目: java -jar compiler.jar ^ –compilation_level=ADVANCED_OPTIMIZATIONS ^ –common_js_entry_module=test.js […]

为什么require.main.require.resolve是未定义的?

这个问题 怀疑node.js模块的范围有一个module对象意味着对当前模块的引用 ,一个require函数意味着需要模块和一个require.resolve函数,意在查找模块的位置,而不是加载该模块只是返回parsing的文件名 。 如果有一个module.require因为有require ,为什么没有一个module.require.resolve因为有一个require.resolve ? 或者可能是同样的事情: 为什么module.require !== require ? console.log('is require.main the same as module?'); console.log( require.main === module ); console.log('does module have a require property being a function?'); console.log( 'function' === typeof module.require ); console.log('is module.require the same as require.main.require?') console.log( module.require === require.main.require ); console.log('is module.require the same as require?') […]