草庐IT

javascript - Node : requiring module inside function?

我正在浏览Node中命令行实用程序的源代码,并看到了以下代码。functionhelp(){varcolors=require('colors');varpackage=require('../package');........}我以前从未见过require以这种方式在函数内部使用。我一直认为将它包含在文件顶部是最佳做法。这是这个程序的入口文件,这个函数只在特定情况下被调用——但那些包在程序的其他地方使用。当我问代码的作者他的理由时,他只是说他“不想一次导入所有的库”。这是好还是坏的做法?不需要在模块顶部使用这些包,而是仅在调用这些函数时才对加载时间产生重大影响?

javascript - 如何在 Closure Compiler 中将 node_modules 定义为 extern?

我有一个想要使用ClosureCompiler编译的Node.js项目。我不希望它在浏览器中运行/使用browserify。我主要想要类型检查的实用程序。我最初使用以下方法使编译器正常工作:java-jarcompiler.jar-WVERBOSE--language_inECMASCRIPT5_STRICT--externsclosure-externs.js--js="lib/**.js"closure-externs.js手动定义了我在Node.js中以相当粗略的方式使用的变量和函数://closure-externs.js/**@constructor*/functionBuf

javascript - 如何在 Closure Compiler 中将 node_modules 定义为 extern?

我有一个想要使用ClosureCompiler编译的Node.js项目。我不希望它在浏览器中运行/使用browserify。我主要想要类型检查的实用程序。我最初使用以下方法使编译器正常工作:java-jarcompiler.jar-WVERBOSE--language_inECMASCRIPT5_STRICT--externsclosure-externs.js--js="lib/**.js"closure-externs.js手动定义了我在Node.js中以相当粗略的方式使用的变量和函数://closure-externs.js/**@constructor*/functionBuf

javascript - Nodemailer 和 "SSL23_GET_SERVER_HELLO:unknown protocol"错误

下面是我的Node.js代码。使用代码导致:Error:0:error:140770FC:SSLroutines:SSL23_GET_SERVER_HELLO:unknownprotocol:openssl\ssl\s23_clnt.c:794代码如下:varexpress=require('express'),fs=require("fs"),app=express(),path=require('path'),request=require('request'),bodyParser=require('body-parser'),http=require('http'),serve

javascript - Nodemailer 和 "SSL23_GET_SERVER_HELLO:unknown protocol"错误

下面是我的Node.js代码。使用代码导致:Error:0:error:140770FC:SSLroutines:SSL23_GET_SERVER_HELLO:unknownprotocol:openssl\ssl\s23_clnt.c:794代码如下:varexpress=require('express'),fs=require("fs"),app=express(),path=require('path'),request=require('request'),bodyParser=require('body-parser'),http=require('http'),serve

javascript - Node.js:如何将全局变量传递到通过 require() 插入的文件中?

我已将我的gulpfile.js拆分为/gulp文件夹中的多个文件,以便更好地组织代码。但是现在我想将一个变量debug(boolean)传递到文件中,该文件将切换包含的gulp命令的行为(最终我将使用命令行参数,但现在我只想让它适用于变量)。我使用我在yeomanangular/gulp包中看到的方法进行此设置的方式是使用一个名为require-dir的npm模块(它将所有*.js文件加载到/gulp文件夹,每个文件夹都有一组设置的gulp任务)。gulpfile.js:vargulp=require('gulp'),run=require('run-sequence'),debug

javascript - Node.js:如何将全局变量传递到通过 require() 插入的文件中?

我已将我的gulpfile.js拆分为/gulp文件夹中的多个文件,以便更好地组织代码。但是现在我想将一个变量debug(boolean)传递到文件中,该文件将切换包含的gulp命令的行为(最终我将使用命令行参数,但现在我只想让它适用于变量)。我使用我在yeomanangular/gulp包中看到的方法进行此设置的方式是使用一个名为require-dir的npm模块(它将所有*.js文件加载到/gulp文件夹,每个文件夹都有一组设置的gulp任务)。gulpfile.js:vargulp=require('gulp'),run=require('run-sequence'),debug

javascript - 如何使用 react 需要语法?

我看到很多使用varReact=require('react')语法构建的react示例。当我尝试使用它时,我得到“未定义要求”。如何使用和设置我的静态项目以使用require语法?更新实际上,我正在寻找一个webpack/browserify配置文件,这样我就可以快速开始使用React和CommonJS。我只编写了没有上述构建工具的react应用程序 最佳答案 require不是Reactapi,也不是原生浏览器api(目前)。require来自commonjs,最著名的是在node.js中实现,如果你用过node.js,你会到处

javascript - 如何使用 react 需要语法?

我看到很多使用varReact=require('react')语法构建的react示例。当我尝试使用它时,我得到“未定义要求”。如何使用和设置我的静态项目以使用require语法?更新实际上,我正在寻找一个webpack/browserify配置文件,这样我就可以快速开始使用React和CommonJS。我只编写了没有上述构建工具的react应用程序 最佳答案 require不是Reactapi,也不是原生浏览器api(目前)。require来自commonjs,最著名的是在node.js中实现,如果你用过node.js,你会到处

javascript - 在 node.js 中捕获需要模块的错误

似乎在任何地方都找不到关于此的任何文章。我基本上想从程序中捕获“找不到模块”错误,并可选择要求安装它,但即使在我的require语句周围使用try/catch,我似乎也无法捕获任何错误。这甚至可能吗?我还没有看到它在任何地方完成。例如:try{varexpress=require('express');}catch(err){console.log("Expressisnotinstalled.");//proceedtoaskiftheywouldliketoinstall,orquit.//commandtorunnpminstall}我想这可以通过单独的.js启动文件来完成,无需