小编538*_*MEO的帖子

Typescript:使用符号链接时解析相对导入路径

这似乎是一个愚蠢的问题,但我很难找到答案。

\n

情况

\n

这是我的文件夹结构:

\n
myProject/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 module1/\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.ts\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 init.ts #symlink\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 module2/\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.ts\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 init.ts #symlink\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 symlinks/\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 init.ts # the real not duplicated file\n
Run Code Online (Sandbox Code Playgroud)\n

文件init.js导入本地文件,如下所示:

\n
import config from \'./config\'\n\n// ...\n
Run Code Online (Sandbox Code Playgroud)\n

问题

\n

问题是打字稿抛出Cannot find module \'./config\' or its corresponding type declarations

\n

我尝试使用打字稿选项preserveSymlinks但它没有解决我的问题

\n

我知道实现我的目标的其他方法,但对于一个文件来说它太过分了,而且它不能解决相对路径上的中继问题(比如创建一个 npm 模块,创建一个函数并传递相对文件内容作为参数,甚至在运行时生成文件...)

\n

=> 我正在monorepo中使用typescript

\n

可以这样使用符号链接吗?如果没有,还有其他(简单的)替代方案吗?

\n

编辑:我已经制作了这个示例仓库,您可以使用它作为实验的基础

\n

javascript symlink node.js typescript monorepo

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

CSS border-radius xy 是否存在?

假设我们有简单的 div 并且他的宽度!=高度。

<div id="test"></div>
Run Code Online (Sandbox Code Playgroud)

和CSS看起来像:

#test {
    width: 200px;
    height: 50px;
    border-radius: 30%;
    border: 5px solid black;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

百分比border-radius使较长的边更加弯曲。该值px将使边框同样弯曲:

#test{
    border-radius: 30px;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我的问题是,有没有一种方法(使用 CSS)来操纵这个比例px(独立于改变 div 大小)并使 div 的短边更加弯曲?或者只能通过画布来实现。

css

7
推荐指数
2
解决办法
1797
查看次数

电子构建器错误:找不到模块“dmg-license”

我正在寻找一种简单的方法来从 Linux 机器构建适用于 macOS 的电子应用程序。

\n

不幸的是,该electron-builder -m命令不起作用,以下是该命令的完整输出:

\n
electron-builder -m              \n  \xe2\x80\xa2 electron-builder  version=22.14.13 os=5.11.0-49-generic\n  \xe2\x80\xa2 loaded configuration  file=package.json ("build" field)\n  \xe2\x80\xa2 writing effective config  file=dist/builder-effective-config.yaml\n\xe2\xa8\xaf Cannot find module \'dmg-license\'\nRequire stack:\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmgLicense.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmg.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/dmg-builder/out/dmgUtil.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/macPackager.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/packager.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/node_modules/app-builder-lib/out/index.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/out/builder.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/out/cli/cli.js\n- /home/myUser/.nvm/versions/node/v16.13.0/lib/node_modules/electron-builder/cli.js  failedTask=build stackTrace=Error: Cannot find module \'dmg-license\'\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试安装依赖项,但它只能安装在 macOS 上...

\n

我也尝试过安装不同的版本,包括20.37.*22.11.7@latest( 22.14.13) 和@next

\n

有没有其他方法可以为 macOS 构建应用程序(我使用的程序是出于私人目的,因此如果需要额外的用户步骤来安装也没关系)?

\n

或者有什么方法可以解决这个依赖问题?

\n

javascript macos npm electron electron-builder

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

flutter中的Widget唯一ID(标识符)?

简单的问题我无法找到答案。

我来自 Web 开发人员背景,您可以通过id应该是唯一的来识别 html 中的 UI 组件。我希望在 Flutter 中做同样的事情。

我们如何才能唯一地识别flutter中的widget?


现实世界用例:

我想跟踪显示的组件以及与之交互的组件,以输出有关它们的统计信息并通过它们的 ID 引用它们。


我的研究:

我看到了这个问题:标题准确地描述了我的问题,但不幸的是,描述和响应与我的用例根本不相关

我在 flutter 文档中也找不到任何对此类功能的引用

dart flutter

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

使用源映射时以字符串形式获取堆栈跟踪?

为了尽可能多地从错误中获取信息,我想捕获堆栈跟踪以显示在浏览器控制台中,并将其发送到外部记录器服务。

console.error(myError)当浏览器正确解释源映射文件并且堆栈跟踪显示相关文件名时,第一种情况工作正常。

但是,当我尝试使用 获取堆栈跟踪作为字符串时(new Error()).stack,文件名不相关:

My Error
at applicationError (http://localhost:3000/static/js/main.chunk.js:29259:
at http://localhost:3000/static/js/main.chunk.js:1624:
at onError (http://localhost:3000/static/js/0.chunk.js:82415:3)
at apiCall (http://localhost:3000/static/js/0.chunk.js:82449:12)
at async http://localhost:3000/static/js/main.chunk.js:26165:21
at async App.componentWillMount (http://localhost:3000/static/js/main.chunk.js:246:5)
Run Code Online (Sandbox Code Playgroud)

如何获取“已解析”堆栈跟踪,以便将相关信息发送到我的记录器?

我已经看到了这些问题,但是,虽然这个问题乍一看似乎很相关,但没有一个回答我的问题:

javascript error-handling stack-trace node.js reactjs

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

严重错误:无效的标记压缩接近堆限制分配失败-使用fs处理大型文件时,JavaScript堆内存不足

我有一个nodeJs脚本,可以处理一堆大的.csv文件(全部为1.3GB)。它运行了片刻并抛出此错误:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

我试图将#!/usr/bin/env node --max-old-space-size=4096文件放在开头,但这并不能解决我的问题...

试图谷歌,但几乎没有有关我的问题的相关信息。

不需要文件内容后是否可以刷新内存?我是否需要为nodeJs分配更多的内存?

谢谢 ;)

这是我的代码示例:

fs.readdir(dirName, function(err, filenames) {
    if (err) console.error(err);
    else {
        filenames.forEach(function(filename) {
            fs.readFile(dirName + filename, 'utf-8', function(err, content) {
                if (err) console.error(err);
                else processFile(content);
            });
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript heap-memory large-files fs node.js

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

如何通过 webhook 确认 PayPal API 中的每月订阅账单?

我正在尝试实现PayPal 订阅流程,其中用户单击我通过仪表板创建的PayPal 订阅按钮。

在后端,我监听PAYMENT.SALE.COMPLETED订阅计费成功时触发的 Webhook。不幸的是,网络钩子没有向我发送太多信息,以便我可以检索链接到刚刚计费的订阅的数据库中的用户和项目。
这将使我能够安全地向该用户显示私人内容。

以下是payPal 发送的webhook 内容(抱歉太长了):

const response = {
        id: 'WH-4W487015EX264720U-32N35125TV248784B',
        event_version: '1.0',
        create_time: '2021-04-26T08:24:41.436Z',
        resource_type: 'sale',
        event_type: 'PAYMENT.SALE.COMPLETED',
        summary: 'Payment completed for EUR 6.9 EUR',
        resource: {
            billing_agreement_id: 'I-T2HP99MJTS1T',
            amount: {
                total: '6.90',
                currency: 'EUR',
                details: {
                    subtotal: '6.90'
                }
            },
            payment_mode: 'INSTANT_TRANSFER',
            update_time: '2021-04-26T08:23:59Z',
            create_time: '2021-04-26T08:23:59Z',
            protection_eligibility_type: 'ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE',
            transaction_fee: {
                currency: 'EUR',
                value: '0.48'
            },
            protection_eligibility: 'ELIGIBLE',
            links: [
                {
                    method: 'GET',
                    rel: 'self',
                    href: 'https://api.sandbox.paypal.com/v1/payments/sale/6R7481343K8159132' …
Run Code Online (Sandbox Code Playgroud)

javascript paypal webhooks node.js paypal-rest-sdk

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

更改 MUI 禁用轮廓输入的边框颜色

我真的很难找到这个边框颜色的定义位置。我已经检查了 dom,但在任何输入组件及其伪元素中都没有看到边框样式......

我只是想减轻输入边框的颜色以匹配我的主题禁用颜色。

这是我使用的代码和渲染。

 <OutlinedInput
      size='small'
      disabled={disabled}
      value={value}
      endAdornment={<InputAdornment position="end">{ctx.user.currency.short}</InputAdornment>}
      inputProps={{ style: { paddingBottom: 4, } }}
      style={{ fontWeight: 700, fontSize: 18 }}
      {...props}
    />
Run Code Online (Sandbox Code Playgroud)

我尝试过使用<TextField />但它有同样的问题。请问你能帮帮我吗 ?

MUI 渲染禁用输入

javascript css disabled-input reactjs material-ui

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

为什么我们不能在 Array.map() 中使用展开运算符以及展平数组数组的替代方法是什么?

这是我尝试过的:

let a = [[1,2], [3,4]];

a.map(val => ...val)
// => SyntaxError: expected expression, got '...'
// Expected output: [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

我尝试使用明确的return声明和带有括号的周围值,但没有任何效果......

我只是想知道是否有一种简单的方法来返回“扩展数组”?

编辑:现在我已经看到了这个问题,它对扩展运算符的工作原理有精确的了解,尽管它并没有真正回答如何“展平”数组的问题(我修改了问题的标题)。

javascript spread-syntax

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

如何在解构赋值语法中使用特殊字符(如连字符)?

我很好奇为什么这似乎是不可能的:

const {a, b, 'special-one'} = { a:1, b:2, 'special-one': 3 };
// output => missing : after property id
Run Code Online (Sandbox Code Playgroud)

是否有可能在未来的 ES 版本中找到该语法?

谢谢你的灯:)

javascript spread-syntax ecmascript-2018

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

如何在 VS Code 中调试交互式 Node.js,例如 Inquirer

我遇到了node.js无法调试的情况。应用程序入口文件使用交互模式。它与 enquirer npm 包一起使用。

\n

我用过node的debug工具,没用。

\n

这是代码:

\n
const inquirer = require(\'inquirer\');\nconst commonQuestions = [{...}]; // some code is omitted here\nconst shortCutQuestions = [{\n  type: \'rawlist\',\n  name: \'cmd\',\n  message: \'\xe8\xaf\xb7\xe9\x80\x89\xe6\x8b\xa9\xe5\xbf\xab\xe6\x8d\xb7\xe5\x91\xbd\xe4\xbb\xa4(\xe7\x9b\xb4\xe6\x8e\xa5\xe8\xbe\x93\xe5\x85\xa5\xe6\x95\xb0\xe5\xad\x97\xe8\xbf\x9b\xe8\xa1\x8c\xe9\x80\x89\xe6\x8b\xa9)\xef\xbc\x9a\',\n  pageSize: 10,\n  default: 0,\n  choices: cacheCommands,\n}];\n\nconst shortCutResolveFunc = ({ cmd }) => {\n  updateCommands(cmd);\n\n  try {\n    signale.watch(`cmd: ${cmd}`);\n\n    const [globalCmd, ...cmdLineArgs] = cmd.split(\' \');\n\n    spawn.sync(globalCmd, cmdLineArgs, { stdio: \'inherit\' });\n  } catch (err) {\n    console.log(pe.render(err));\n  }\n};\n\ninquirer.registerPrompt(\'autocomplete\', require(\'inquirer-autocomplete-prompt\'));\n\ninquirer\n  .prompt(isCommonMode ? commonQuestions : shortCutQuestions)\n  .then(isCommonMode ? commonResolveFunc : shortCutResolveFunc);\n
Run Code Online (Sandbox Code Playgroud)\n

node.js

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

是否可以使 mongoDb objectId 大于 24 个字符?

只是一个简单的问题,我无法通过文档或 stackoverflow 得到答案:

我想在对象 id 中为我的文档编码一个有区别的唯一值。这样,在解析对象 ID 时就可以计算或检索唯一值。

对我来说主要优点是:

  • 它是确定性的,所以我可以用它来为我的数据库播种并在创建文档之前创建 _ids,或者使用 upsert 函数
  • 在获取唯一值时效率更高,因为按 _id 搜索比按唯一字段搜索更有效(除非您创建一个新索引,我猜)

这是我用来完成这项工作的函数:

export function convertNameToObjectId(ressourceName) {
  const slug = ressourceName.replace(/[^A-Za-z0-9_]/g, '')
  return Buffer.from(slug).toString('hex').padStart(24, '0')//.substring(0, 24) may not be needed
}
Run Code Online (Sandbox Code Playgroud)

所以 90% 的情况下,这种方法效果很好,因为转换为十六进制字符串时,所述唯一值小于 24 个字符,但有时它有点大,猫鼬会抛出错误:Cast to ObjectId failed for value "33333630303131323233335f626e6b41636e74" (type string) at path "_id" for model "bankAccount"

Si 是否可以制作 24+ 字符长度的 objectId?我错过了配置吗?

javascript mongoose mongodb node.js typescript

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