小编GBa*_*oso的帖子

新函数和函数有什么区别

new Function代码中使用, 而不是简单地使用 是很常见的Function。我想了解为什么,new操作员在这里到底做了什么。

这两者有什么区别?

var y = new Function("a", "alert(a)")
var x = Function("a", "alert(a)")
Run Code Online (Sandbox Code Playgroud)

javascript

7
推荐指数
1
解决办法
1155
查看次数

如何在GraphQL解析器中访问请求对象(使用Apollo-Server-Express)

我有一个使用GraphQL的标准快递服务器

const server = express();

server.use('/graphql', bodyParser.json(), graphqlExpress({ schema }));
Run Code Online (Sandbox Code Playgroud)

问题是:如何访问request解析器内的对象?我想在一些特定的查询中检查JWT

这是导入的架构:

const typeDefs = `
    type User {
        id: String,
        name: String,
        role: Int
    }
    type Query {
        user(id: String): User,
        users: [User]
    }
`;

const resolvers = {
    Query: {
        user: (_, args, context, info) => users.find(u => u.id === args.id),
        users: (_, args, context, info) => users
    }
}

module.exports = makeExecutableSchema({typeDefs, resolvers});
Run Code Online (Sandbox Code Playgroud)

javascript express passport.js graphql graphql-js

5
推荐指数
1
解决办法
2392
查看次数

在Visual Studio的预构建中使用Webpack

我有两个命令:

npm run build-调用webpack以编译我所有的.js

npm run dev-调用webpack -w,编译我所有的.js并保持监视模式,以查找更改。

我想将其与Visual Studio的构建集成在一起,所以我进入了Properties-> Build Events-> Pre-build

if $(ConfigurationName) == Debug (
  npm --prefix ../ run dev
) ELSE (
  npm --prefix ../ run build
)
Run Code Online (Sandbox Code Playgroud)

此逻辑有效。如果我处于发布模式,它将简单捆绑我的文件,服务器将运行。但是问题出在调试模式下,因为webpack -w不会结束,构建也永远不会结束,所以期望退出代码。

因此,我试图超越Visual Studio并启动一个新的cmd进程,该进程不会阻止构建的开始:

start cmd /K npm --prefix ../ run dev

不幸的是,Visual Studio对我来说太聪明了。

因此,问题是:是否有任何聪明的方法可以使Visual Studio只需在预构建命令中运行我想要的内容,而不等待它完成?

我知道有个合适的地方叫做任务运行器,但是我无法正确配置它,它无法识别来自package.json的任何命令。另外,我不想在运行服务器之前/之后手动激活它,理想情况下,我希望将其与服务器启动集成,这就是为什么要进行预构建。但是,如果有更聪明的方法可以执行此操作,请随时将其指向我。

提前致谢。

c# visual-studio node.js npm webpack

5
推荐指数
1
解决办法
1543
查看次数

在javascript中访问“私有”变量

假设我有以下课程:

function MyClass(){

    this.public = function(){
        console.log(private);
    };

    var private = 10;
}


var test = new MyClass;

test.public(); // logs 10
test.private; // undefined
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以从外部访问私有变量。查看 chrome 的控制台似乎是可能的,因为它显示了它的上下文:

在此处输入图片说明

编辑:只是为了澄清:我知道如何正确公开它。只是想确定是否没有一些hacky方式来访问它。

javascript

2
推荐指数
1
解决办法
2690
查看次数

在Clojure的地图上更改值的正确方法

好吧,我是clojure的新手,这应该很容易,但是对于我的一生,我找不到答案

假设我有这张地图

(def mymap {:a 10 :b 15})
Run Code Online (Sandbox Code Playgroud)

现在,我想将:a的值更改为5。我不知道如何正确执行此操作

我知道update并且assoc可以进行更改,但它们都接受一个函数作为最后一个参数,该参数适用于该值。我不想那样,我不想运行任何函数,我只想简单地将:a设置为5。

我想我可以传递一个仅返回5并忽略arg的匿名函数,但这是正确的方法吗?对我不好

(update mymap :a (fn [arg] 5))

clojure

1
推荐指数
1
解决办法
117
查看次数