Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor build正在将服务器端代码导入客户端_Meteor_Import_Build - Fatal编程技术网

Meteor build正在将服务器端代码导入客户端

Meteor build正在将服务器端代码导入客户端,meteor,import,build,Meteor,Import,Build,我的Meteor项目在/imports目录中有一个服务器端机密,该机密不应转到客户端 在客户端查看源代码时,我注意到文件实际上已导入 我搜索了我的项目目录,唯一可能发生这种情况的导入将此代码包含在共享的客户端/服务器文件中: if (Meteor.isServer) { import secret from '../imports/config/secret'; // ... } 我猜构建工具看到了导入并合并了它 有办法解决这个问题吗?我需要使用这个文件中的秘密,但是只有当Me

我的Meteor项目在
/imports
目录中有一个服务器端机密,该机密不应转到客户端

在客户端查看源代码时,我注意到文件实际上已导入

我搜索了我的项目目录,唯一可能发生这种情况的导入将此代码包含在共享的客户端/服务器文件中:

if (Meteor.isServer) {
    import secret from '../imports/config/secret';
    // ...
}
我猜构建工具看到了导入并合并了它

有办法解决这个问题吗?我需要使用这个文件中的秘密,但是只有当Meteor运行服务器端时



注意:请不要回答告诉我所有服务器端密钥等都不应随生成一起发布。这不完全是一回事。

isServer构造可以保护代码不在客户端上运行,但不会阻止这些字节被提供。您指出文件本身在客户端和服务器之间共享,这是您的问题

您需要将该代码移动到仅提供给服务器的文件中。i、 e.在名为“服务器”的文件夹或其子文件夹中

发件人:

客户端上未加载任何名为server/的目录。类似 将代码包装在if(Meteor.isServer){…}中,客户端除外 甚至从未收到代码。任何你不想要的敏感代码 服务于客户端,例如包含密码或密码的代码 身份验证机制应保存在服务器/目录中


isServer构造可以保护代码不在客户机上运行,但不会阻止提供这些字节。您指出文件本身在客户端和服务器之间共享,这是您的问题

您需要将该代码移动到仅提供给服务器的文件中。i、 e.在名为“服务器”的文件夹或其子文件夹中

发件人:

客户端上未加载任何名为server/的目录。类似 将代码包装在if(Meteor.isServer){…}中,客户端除外 甚至从未收到代码。任何你不想要的敏感代码 服务于客户端,例如包含密码或密码的代码 身份验证机制应保存在服务器/目录中


可以现在,假设我仍然需要从客户端和服务器提供的另一个文件中获取该文件(现在放在服务器中),它能解决任何问题吗?@dthree,这行不通。你必须做一些工作来分解那些文件中的内容,或者甚至打电话给服务器来获取你需要的内容。很难说没有看到实际的代码。好吧,我明白了,这是有道理的。谢谢你的帮助!可以现在,假设我仍然需要从客户端和服务器提供的另一个文件中获取该文件(现在放在服务器中),它能解决任何问题吗?@dthree,这行不通。你必须做一些工作来分解那些文件中的内容,或者甚至打电话给服务器来获取你需要的内容。很难说没有看到实际的代码。好吧,我明白了,这是有道理的。谢谢你的帮助!