小编Fis*_*Fis的帖子

JavaScript - 同步等待异步操作(睡眠)

我知道它在这里被多次询问,很多次回答这不是应该怎么做的方式,而是再一次:)

是否有可能以某种方式调用异步函数(例如timer/ajax调用),基本上是常见的异步任务并同步等到它结束而没有100%的CPU使用率并阻止浏览器?

简单的回答就足够了 - 是或否.如果没有我必须根据"异步方式"中的异步操作编写所有代码,否则,它会更好;)

想象一下:

updateCSS("someurl.css")

function updateCSS(url) {

   var css = getCachedResource(url);

   css = css.replace(/regexp/gm, function(curUrl) {
     base64 = atob(getCachedResource(curUrl))
     return "data:image;base64," + base64
   })

}

function getCachedResource(url) {
  
  //...
  
  if (cached) {
    
    return cached
    
  } else {
    
    // doajax...    
    // watfor
    
    return loaded
  }
  
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以使它异步,但代码将......非常糟糕.而且,我必须使调用此函数的所有函数都异步.你能看到简单的解决方案吗 我会说阻塞是最简单的.

谢谢

javascript asynchronous promise async-await

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

TypeScript应该将index.ts解析为默认模块文件吗?

我正在尝试在打字稿下进行模块解析。

如果我有:

/modulename/index.ts
Run Code Online (Sandbox Code Playgroud)

是否应通过以下方式解决:

import * as modulename from "modulename"
Run Code Online (Sandbox Code Playgroud)

我无法正常工作。但

import * as modulename from "modulename/index"
Run Code Online (Sandbox Code Playgroud)

效果很好。

编辑

正如aluan-haddad向我推荐的那样,必须正确配置tsc。

这个为我工作:

{
   ...
   "baseUrl": ".",
   "module": "commonjs",
   "moduleResolution": "node",
   ...
}
Run Code Online (Sandbox Code Playgroud)

编辑

请注意,此配置与VS一起使用时不起作用。如果将其放在外部tsconfig文件中,则编译效果很好,但语言服务无法处理。如果将其同时放在msconfig(csporj)中,则编译和语言服务都会失败。

我发现只能为100%工作的一种解决方案是创建以下内容:

src
   node_modules
      module_being_currently_developed
         submodules
Run Code Online (Sandbox Code Playgroud)

在这种情况下,模块分辨率将正常工作。

typescript

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

WebPack - 生成的输出没有 webpackBootStrap

有没有办法让 webpack 在没有引导代码的情况下生成输出并生成如下内容:

webpackedmodules = [
   function(module, exports, __webpack_require__) {
      ...
   }, 
   function(module, exports, __webpack_require__) {
      ...
   }, 
]
Run Code Online (Sandbox Code Playgroud)

或者

return [
   function(module, exports, __webpack_require__) {
      ...
   }, 
   function(module, exports, __webpack_require__) {
      ...
   }, 
]
Run Code Online (Sandbox Code Playgroud)

或使用完全自定义的 boostrap 代码。

我想使用 XHR 加载它并有一个自定义的“包解析器”,它以后将允许我动态地将特定模块发送给各种网络工作者。

webpack

5
推荐指数
0
解决办法
296
查看次数

如何取消链接本地包?npm 在 windows env 中存储链接的位置?

我使用 npm link 命令链接了一个本地开发的包。从那以后,我无法将其取消链接。

我在 Windows 10 上。

我试过了:

  1. npm 取消链接
  2. 删除
  3. 卸载
  4. 彻底清除 npm 缓存和全局存储库。

我希望现在可以从 npm 网络 repo 安装该软件包,因为我有:

"dependencies": {
   "package": "^version"
}
Run Code Online (Sandbox Code Playgroud)

在我的 package.json 文件中,但它仍在安装本地链接版本。npm 在哪里存储链接?

windows npm npm-link

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