我已经工作了几个小时而且我完全迷失了,因为环回文档没有帮助.
我正在尝试将应用程序逻辑编写到模型中.该文档就在这里.不幸的是,除了将外部值传递给远程方法并再次返回之外,该示例并未演示任何有用的内容.我想了解如何在此上下文中运行查询并访问模型数据,但我已搜索了几个小时,甚至无法找到有关这些简单任务的文档.也许我只是在寻找错误的地方.有人可以帮忙吗?
问题非常简单:有没有办法从单个nodejs项目向npmjs注册表发布两个不同的NPM模块?
但对于那些你想知道为什么有人甚至想要这样做的人呢?......这个问题背后的动机可能不太明显.所以请允许我解释一下:
我使用的东西类似于一个名为loopback的app-server.我的nodejs应用程序整齐地分布到客户端,公共和服务器文件夹中.
我经常需要在我的common文件夹中重用其他项目中的模型.虽然我可以通过使用.npmignore删除其他东西将该文件夹作为单独的NPM模块发布:
/*
/common/utils
/common/models/*.js
!/common/models/*.json
我无法package.json从已发布的内容中删除实际运行我的应用程序所需的当前杂乱.
$ npm pack
$ tree -L 2 ~/dev/w2/node_modules/warehouse
~/dev/w2/node_modules/warehouse
??? README.md
??? common
? ??? models
??? node_modules
? ??? ...
? ??? ...
??? package.json
事实上,我过滤掉了除了我的common/models文件夹以外的所有内容,但是因为我不确定如何在打包之前动态调整package.json文件或者作为打包它的一部分...一个npm install将放下真正不属于的依赖关系需要.
我不喜欢单独使用模型创建一个单独的项目,因为这迫使我将其添加为核心项目的依赖项,并且活动开发分为两个项目,它们曾经只是一个项目.npm link等等是一种很好的方法来解决它,但它增加了开发人员设置的复杂性,当新人加入并确保没有人检查错误的东西.
那么有没有办法从单个nodejs项目向npmjs注册表发布两个不同的NPM模块?或者某种方式使用不同的package.json文件进行单独的发布但所有来自一个项目?
更新:我的目标是什么?
通过将其作为NPM模块发布,从我的核心项目中重用其他项目中的模型.没有放弃继续开发我的核心项目作为一个原子实体没有npm link等的便利,因为当不仅仅是一个人正在努力它时,它会变得混乱.
我正在尝试在使用Apache Cordova构建的混合移动应用程序中使用ES6模块。不幸的是,Cordova似乎正在提供不带MIME类型的模块,这在WebView中抛出错误(在Chrome 63和64 beta中)。
具体来说,已部署的应用程序(使用chrome远程调试器)会引发以下错误:
Failed to load module script: The server responded with a non-JavaScript MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec.
Run Code Online (Sandbox Code Playgroud)
我使用的是沼泽标准ES6导入,目标版本的chrome现在支持该功能。
<!--index.html-->
<script type="module">
import App from "./app.js"
import config from "./config.js"
window.app = new App(config)
</script>
Run Code Online (Sandbox Code Playgroud)
当通过Web服务器而不是通过Cordova部署预构建资产时,一切工作正常。通过Babel进行转载可能是一个选择,但似乎很头疼,我宁愿走这条路,直到我知道没有更好的选择。
有什么建议吗?
javascript google-chrome cordova hybrid-mobile-app es6-modules
这似乎应该是一个简单的问题,但我找不到一个好的答案.有没有办法在foreach循环上设置条件?我想要这样的事情:
foreach ($array as $value WHILE $condition == true)
{ //do some code }
Run Code Online (Sandbox Code Playgroud)
当然我可以在foreach循环中放置一个if条件,如下所示:
foreach ($array as $value)
{
if($condition == true)
{//do some code}
}
Run Code Online (Sandbox Code Playgroud)
唯一的一点是,我想在if条件变为false时停止迭代数组,以提高性能.不需要遍历foreach循环的其余部分来确定$ condition在变为false时为false.
有什么建议?我错了一些明显的东西吗?
我有一个数据库,可以在表中存储大量数据.这样可以正常工作,但我需要存储一些个别变量,这些变量不是"可重复的",因为不需要额外的行来存储更多的副本.
我可以创建一个存储这些杂项变量的表,并在该表中只留下一行,但这似乎不是最有效或最干净的选项.
有没有更好的方法(或者理想的方法是在MySQL中存储单个变量)?
我在AWS EC2实例上安装了mySQL和PHP 5.5.但是,当我尝试
$db = new mysqli($args)
Run Code Online (Sandbox Code Playgroud)
PHP踢我自动加载器,好像它找不到mysqli对象的构造函数.我在php.ini文件中没有注释extension = mysql.so,但似乎没有完成任何事情.在启动时,我得到了
PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/msql.so' - /usr/lib64/php/5.5/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)
我认为mysqli/native驱动程序是用PHP5.5预先打包的,但也许我错了.有人能给我一个关于PHP5.5如何与mysqli一起玩的提示吗?
我正在使用jointjs,正如问题所述,我需要将每个输入的允许连接数限制为最多一个。如果输入已被输出连接到,则在现有连接被更改或删除之前,不应允许任何额外的连接尝试。
我想我需要修改 validateConnection 函数,所以我想知道是否有办法检查现有连接的 MagnetT 变量?就像是
if(magnetT.connected) return false;
Run Code Online (Sandbox Code Playgroud)
也许通过在链接时将自定义属性传递给端口。
on.link(){
target.connected = true;
}
Run Code Online (Sandbox Code Playgroud)
或那种性质的东西。显然,上面是伪代码,所以如果有关于解决这个问题的不同方法的建议,我全神贯注。在此先感谢您的帮助!
php ×3
javascript ×2
mysql ×2
node.js ×2
amazon-ec2 ×1
cordova ×1
es6-modules ×1
foreach ×1
jointjs ×1
loopbackjs ×1
mysqli ×1
npm ×1
strongloop ×1
while-loop ×1