问题:如何打包下载文件服务器文件?

老方法是在后端将远程文件从文件服务器上下载到后端服务器,然后将打包后的文件链接返回给前端,然后前端再下载,这样就会导致两次下载,非常慢

解决:后端返回文件服务器中文件链接,然后前端下载远程文件并打包

阅读全文

问题:使用source .bashrc时出错,提示有一行 No such file or directory,但我直接sourcce那一行时又可以

解决:因为命令之后有注释

方法:

下面是.bashrc文件中代码

错误代码:

export NVM_DIR="$HOME/.nvm"
. $HOME/.nvm/nvm.sh  # This loads nvm
. $HOME/.nvm/bash_completion  # This loads nvm bash_completion

阅读全文

问题:如何使用nvm?安装的npm如何进行全局模块安装?

解决:为了防止切换node版本时全局安装的模块无法使用,所以需要配置全局安装路径

方法:

安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
source ~/.bashrc

使用 nvm 时,默认的 prefix 是当前激活的 Node.js 版本的安装路径。
带来一个问题是:切换版本之后,之前安装全局命令模块需要重新安装,非常不方便。
解决方案是配置统一的全局模块安装路径。
新建npm_global和npm_cache文件夹,分别用于npm包的全局安装路径和全局cache路径

阅读全文

问题:调用合约方法时报错Error: Returned error: VM Exception while processing transaction

解决:参数传递错误导致require条件修饰符不满足,web3.js是1.7

方法:

部署合约时传的参数alice是小写开头的,且为byte32

console.time('deploy time');
const myContract = await new web3.eth.Contract(JSON.parse(interface));
myContract.deploy({
    data: bytecode,
    arguments: [[web3.utils.asciiToHex('alice'), web3.utils.asciiToHex('bob')]]
})
.send({
    from: accounts[0],
    gas: 1500000,
    gasPrice: '30000000000000'
})
.then(function(newContractInstance){
    console.log('合约部署成功:', newContractInstance.options.address) // instance with the new contract address
});

阅读全文