我实际上是在开发文本编辑器,只是遇到了有关图像上传和显示方法的问题。
我正在努力实现的目标
单击工具栏中的按钮时,该应用程序将显示一个弹出窗口,用于上传图片。然后,用户可以通过文件系统拖放文件或单击并选择文件。选择图像后,我通过ajax将其发送到服务器,该文件将上载并将其存储在文件夹中。完成此操作后,服务器将发送一个响应,表明该文件已正确并且可以使用。然后函数解析,编辑器将正确的链接添加到图像。
我在将事件监听器附加到Promise时尝试了一些可行的方法。
function uploadImage(editor) {
/* Displays the pop-up */
uploadView.style.display = "block";
var promise = new Promise(function(resolve, reject) {
uploadInput.addEventListener('change', function(event) {
/* ajax call */
resolve(value);
});
dropZone.addEventListener('drop', function(event) {
/* ajax call */
resolve(value);
});
});
promise.then(function(result) {
/* Adds the link */
}, function(err) {
/* handles errors */
});
}Run Code Online (Sandbox Code Playgroud)
一切都很好,但是每次触发该函数时,都会附加一个新的侦听器,并且每次单击新函数时,该函数都会再次运行...
然后我以为我可能会在诺言解决后删除听众。但是,为了做到这一点,我不能使用匿名函数,但是由于它引发错误,所以我不能在内部使用我的resolve方法。
这不起作用:
function uploadImage(editor) {
/* Displays the pop-up */
uploadView.style.display = "block";
var promise = new Promise(function(resolve, reject) {
uploadInput.addEventListener('change', handleUpload); …Run Code Online (Sandbox Code Playgroud)我们最近使用turborepo将多个存储库重新分组为一个单一的monorepo,以便使用本地包实现更好的代码可重用性。
我们的文件夹结构如下所示:
/apps
| /app1
| /app2
/packages
| /package1
| | /some-folder
| | | someHelper.js
| | index.js // Main entry point exporting everything
Run Code Online (Sandbox Code Playgroud)
package1 package.json 文件看起来像这样
{
"name": "package1",
"main": "index.js",
// Omitted irrelevant properties
}
Run Code Online (Sandbox Code Playgroud)
应用程序 package.json 看起来像这样
{
"name": "app1",
"dependencies": {
"package1": "*"
}
// Omitted irrelevant properties
}
Run Code Online (Sandbox Code Playgroud)
当在应用程序和我引用的上下文中时someHelper,智能感知导入建议给出以下内容:
import someHelper from "<rootDir>/packages/package1/some-folder/someHelper";
Run Code Online (Sandbox Code Playgroud)
虽然我希望它像这样导入:
import { someHelper } from "package1";
Run Code Online (Sandbox Code Playgroud)
两种进口都有效,但第二种更干净。我只是无法让 VSCode 以这种方式工作。
我在各个级别(应用程序、包和根目录)尝试了 jsconfig.json 路径别名的不同组合,但都没有达到预期的效果。
我缺少什么吗?
javascript intellisense visual-studio-code monorepo turborepo