封装一个获取module.exports内容的方法

let fs = require(‘fs‘)

let req = (moduleName) => {
    //content代表的是文件内容
    let content = fs.readFileSync(moduleName, ‘utf8‘)
    console.log(content + ‘\n return module.exports‘)
    //最后一个参数是函数的内容体
    let fn = new Function(‘exports‘,‘module‘,‘require‘,‘__dirname‘,‘__filename‘,content + ‘\n return module.exports‘)
    let module = {
        exports:{}
    }
    return fn(module.exports,module,req,__dirname,__dirname)
}

let msg = req(‘./a.js‘)

console.log(msg.msg)

  

原文地址:https://www.cnblogs.com/huyanluanyu/p/10127466.html

时间: 2024-11-02 20:07:08

封装一个获取module.exports内容的方法的相关文章

VBScript设置和获取剪切板内容的方法

Automation中经常需要程序和剪切板交互,还在使用键盘一个一个input?内容多的话,岂不是太慢了,使用剪切板的黏贴复制,so fast,so easy--具体需要调用Microsoft Forms 2.0 Object Library的对象和方法,用它轻松实现设置和获取剪切板的内容,下面写了2个设置和获取剪切板内容的函数,需要的时候直接调用~  'operating clipboard Function setClipboard(str)     'setting clipboard's

Node.js中exports,module.exports以及require方法

在Node.js中,使用module.exports.f = ...与使用exports.f = ...是一样的,此时exports就是module.exports的一种简写方式.但是,需要注意的是,如果直接给exports赋值的话,exports就与module.exports没有任何关联了,比如: exports = { hello: false }; // Not exported, only available in the module 此时,exports是没有导出任何变量的. 要弄

js实现默认或者触发一个事件选中元素内容的方法

方法一:非文本框.文本域的选中内容方法 <!Doctype html> <html> <head> <script type="text/javascript" src='http://libs.baidu.com/jquery/2.0.0/jquery.js'></script> <body> <div onclick="SelectText('myDiv')">点击选中</

html提交表单,php在后台获取表单内容的方法_例1

html代码: <html>   <head>   <meta http-equiv="Content-Type" content="text/html; charset=utf8">   <title>This is a simple HTML form!</title>   </head>   <body>   <form action="send_simpleF

封装一个axios请求后台的通用方法

import axios from 'axios'; import constant from '@/js/const'; import alert from '@/js/alertView'; let env = process.env.NODE_ENV; var needLogin = ""; let root = ''; let yxHeader; if (env === 'development') { console.log("api"); } else

Node.js中的模块接口module.exports浅析

在写node.js代码时,我们经常需要自己写模块(module).同时还需要在模块最后写好模块接口,声明这个模块对外暴露什么内容.实际上,node.js的模块接口有多种不同写法.这里作者对此做了个简单的总结. 返回一个JSON Object 如下代码是一个简单的示例. 1 var exp = { 2 "version": "1.0.0", 3 "function1": null, 4 "module1": null, 5 };

Node.js中exports与module.exports的区别

原文:http://www.hacksparrow.com/node-js-exports-vs-module-exports.html 你肯定对Node.js模块中用来创建函数的exports对象很熟悉(假设一个名为rocker.js的文件): exports.name = function() { console.log('My name is Lemmy Kilmister'); }; 然后你在另一个文件中调用: var rocker = require('./rocker.js'); r

CSharpGL(41)改进获取字形贴图的方法

CSharpGL(41)改进获取字形贴图的方法 在(http://www.cnblogs.com/bitzhuwei/p/CSharpGL-28-simplest-way-to-creating-font-bitmap.html)中我实现了纯C#获取字形贴图的方法. 最近发现这个方法有些缺陷: 单纯地将每个字形左右两侧的部分剔除,这可能会损失某些信息.例如"新宋体"的小数点和数字宽度几乎是相同的,但是这个方法将小数点的宽度大大减少了.看下图就会发现区别. 整个方法过程比较长,而我的代码

封装一个运动函数

1 //支持 缓冲 + 多物体 + 链式 + 完美 2 //obj:运动的对象 3 //json:存储多个attr和target 4 //callback :回调函数 代表一个功能 当一个函数作为参数时,这样的函数叫做回调函数 5 function startMove(obj,json,callback){ 6 clearInterval( obj.timer );//在运动之前先清空定时器 7 obj.timer = setInterval( function(){ 8 var flag =