我有一个纱线工作区项目,它看起来像这样:
node_modules
packages
shared
test.js
package.json
client
test.js
package.json
server
test.js
package.json
package.json
server.Dockerfile
Run Code Online (Sandbox Code Playgroud)
如您所见,我有一个server.Dockerfile,它构建了一个服务器映像,我可以将其推送到不同的托管服务提供商,例如 Heroku 或 AWS。
我复制packages并package.json进入这个容器:
COPY packages packages
COPY package.json .
Run Code Online (Sandbox Code Playgroud)
然后我只安装server包的依赖项:
RUN cd packages/server && yarn install
Run Code Online (Sandbox Code Playgroud)
所有依赖项现在都在node_modules文件夹中,接下来我想做的是删除packages文件夹以从 docker 映像中删除任何不必要的代码(例如客户端代码):
RUN rm -rf packages
Run Code Online (Sandbox Code Playgroud)
问题在于node_modules文件夹内的所有纱线工作区包只是到packages文件夹的符号链接......所以我无法删除该文件夹。
如何yarn install复制纱线工作区包而不是创建符号链接?
或者,是否有另一种方法可以删除所有未使用的代码(例如客户端代码),以便我的 docker 图像不会膨胀?
本地设置
我通过ssh-keygen命令创建了公共和私有SSH密钥。
我决定先在本地设置私钥,然后再在我的仓库的gitlab CI上进行设置。
我在服务器上设置了公共密钥(在这种情况下,是另一个gitlab存储库,但是将来可能会更改,因此不会影响该问题)。
我已通过以下命令在本地与服务器成功通信(在这种情况下,我正在通过SSH使用SSH git,但将来可能会再次更改):
git clone git@gitlab.com:...../......git
Run Code Online (Sandbox Code Playgroud)
亚搏体育app CI设置
然后,我决定在gitlab CI上设置私钥和通信。
在我的仓库中,我导航到“设置->连续集成->变量”,并添加了以下环境变量:
SSH_DEPLOY_PRIVATE_KEY -我曾经使用与本地相同的私钥SSH_KNOWN_HOSTS
gitlab.com从本地计算机的~/.ssh/known_hosts文件中获取了已知主机gitlab.com,35.231.145.151 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=然后,我在内部设置SSH .gitlab-ci.yml:
script:
- apt-get install openssh-client -y
- eval $(ssh-agent -s)
- echo "$SSH_DEPLOY_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p /.ssh && touch /.ssh/known_hosts
- echo "$SSH_KNOWN_HOSTS" >> /.ssh/known_hosts
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,我收到以下消息: Identity …
我正在尝试创建一个WalletConnect提供商。
我正在使用@walletconnect/web3-provider包以及Web3Modal作为 UI。
我正在WalletConnectProvider使用我的Infura客户端 ID进行实例化
let web3Modal = new Web3Modal({
network: "matic",
cacheProvider: true,
providerOptions: {
walletconnect: {
package: WalletConnectProvider,
options: {
infuraId: "c22c90a767684c5fbd7257da57802b35" ,
},
},
},
});
web3Modal.clearCachedProvider();
await web3Modal.connect();
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序并连接钱包时,出现以下错误:
Error: No RPC Url available for chainId: 137
Run Code Online (Sandbox Code Playgroud)
我正在尝试连接到Polygon 网络(即chainId 137)。
Infura 似乎确实支持 Polygon 主网链。
另外,我将此链添加到我的 MetaMask 移动钱包中,这是我连接到 WalletConnect 时使用的钱包。
所以它应该有效..
任何想法如何解决这一问题?
我从收到的帧canvas通过canvas.getDataURL().
但是,现在我有一系列png图像,但我想要一个视频文件.
我该怎么做呢?
var canvas = document.getElementById("mycanvaselementforvideocapturing");
var pngimages = [];
...
setInterval(function(){pngimages.push(canvas.toDataURL())}, 1000);
Run Code Online (Sandbox Code Playgroud) javascript canvas todataurl web-mediarecorder mediarecorder-api
我正在图书馆画括号。
我正在使用JavaScript计算每个元素(匹配和线条)的坐标。每个元素都有position: absolute;和使用left和top来设置它们的x和y坐标。
因为我正在使用,position: absolute;所以必须将父级设置为,以position: relative;使子级相对于其父级定位。
直到我注意到父母的身高没有从孩子的身高开始更新,这才算完美,因为position: absolute;元素是从文档流中删除的。
我需要父级具有高度,以便可以在下面放置其他元素,并给出父级样式,例如background-color...
除了使用x和y坐标的绝对定位之外,还有其他替代方法可以将其保留在文档流中以允许父级width并height自动调整吗?
或者,如果不可能的话,可以使用香草javascript(没有jQuery或其他库)来查找父div内容的宽度和高度。如果可能的话,我可以通过javascript 设置父代width和height样式。
到目前为止我尝试过的
position: relative;,position: absolute;如果您只有一个孩子,我相信可以代替他们工作。但是,如果有一个以上的孩子,则这些孩子不是相对于父母,而是现在相对于前一个孩子,这使事情变得混乱。scrollHeight与height等元件document,document.body和window。这不起作用,因为undefined结果是错误的或结果错误的。现在,我的临时解决方案是将body高度设置为2500px应该达到的最高高度。问题在于,总会有一个滚动条,大多数情况下滚动到无。
码
<div class="BrackChart_wrapper">
<div class="BrackChart_match"> ... </div>
<div class="BrackChart_line"></div>
etc.
</div>
.BrackChart_wrapper {
position: …Run Code Online (Sandbox Code Playgroud) 如果我有一个像这样的 UDP 套接字:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
Run Code Online (Sandbox Code Playgroud)
并且套接字可以发送数据:
sock.sendto("message", address)
Run Code Online (Sandbox Code Playgroud)
如何找到套接字的端口 - 发送数据时使用的端口address?
编辑:我尝试过sock.getsockname(),但这会引发错误:[Errno 10022] An invalid argument was supplied
您可能听说过 Deno,它是一个新的 TypeScript 运行时。
Deno 和普通 TypeScript 之间的一个主要区别是您必须在 import 语句中包含文件扩展名。例如:
import foo from './bar.ts'
^^
Run Code Online (Sandbox Code Playgroud)
我想编写与 Deno 和 Webpack 兼容的代码。
如何配置 Webpack 以允许使用.ts上述扩展名进行导入?
另外,如何防止以下 VSCode 错误?
Pkg CLI将 node.js 应用程序打包成可执行文件。
在运行时,应用程序应访问全局/snapshots/文件夹(或C:\snapshots\在 Windows 上)中的资源。
Pkg由于共享一个快照目录而只能同时运行一个应用程序?我找不到这方面的任何信息,而且似乎不对......
JavaScript 有两种类型的导出:正常[1]和默认。
编辑:JavaScript 有两种类型的导出语法
class Foo {...}
class Bar {...}
export {
Foo,
Bar,
};
Run Code Online (Sandbox Code Playgroud)
或者
export class Foo {...}
export class Bar {...}
Run Code Online (Sandbox Code Playgroud)
普通导出可以通过两种方式导入:命名空间[1]导入和命名导入(看起来类似于解构)。
命名空间导入
import * as Baz from './baz';
Run Code Online (Sandbox Code Playgroud)
命名导入
import {Foo, Bar} from './baz';
Run Code Online (Sandbox Code Playgroud)
class Foo {...}
class Bar {...}
export default {
Foo,
Bar,
};
Run Code Online (Sandbox Code Playgroud)
默认导出也可以通过两种方式导入:名称空间导入和命名导入(以一种黑客方式在单独的语句中使用解构)
命名空间导入
import Baz from './baz';
Run Code Online (Sandbox Code Playgroud)
命名导入
import temp_Baz from './baz';
const {Foo, Bar} = temp_Baz;
Run Code Online (Sandbox Code Playgroud)
普通导出和默认导出都具有相同的功能 - 它们可以导入到命名空间中,并且可以解构为更小的部分。
1) …
我决定在我的下一个网站上试用 Svelte,这将是一个使用 GitLab 页面托管的静态网站。
我得到了生成dist/bundle.js和dist/bundle.css.
问题是我无法上传此dist文件夹,因为没有index.html文件。
如何让 Svelte/rollup 生成index.html包含初始渲染的文件?
另一种选择是创建我自己的index.html文件并导入bundle.js. 这对我来说不是一个选择,因为初始渲染现在是通过 javascript 而不是在编译时在运行时生成的,这可能会对 SEO 产生负面影响并阻止没有 javascript 的用户至少看到一些东西。
我也在看 Sapper,它进行服务器端渲染,据我所知,它在服务器端进行初始渲染。但是,这似乎需要您拥有服务器而不是渲染到文件,并且对于静态单页网站来说似乎过于复杂。