美文网首页
NojdeJs以及NPM问题记录

NojdeJs以及NPM问题记录

作者: 王国的荣耀 | 来源:发表于2020-07-29 17:43 被阅读0次

箭头函数

ES6中新增了箭头操作符(=>),可以用它来简化函数的书写,如下所示。

var f = v => v; 
//等价于
var f = function(v){
return v; 
};

如果箭头函数带有参数,可以使用一个圆括号代表参数部分,如下所示。

var f = () => 5;
//等价于
var f = function () { return 5 };

如果箭头函数带有多个参数,需要用到小括号。参数之间使用逗号隔开。

var sum = (a, b) => a + b; 
//等价于
var sum = function(a, b) {
     return a + b;
   };

如果函数体涉及多条语句,就需要使用大括号。

var add = (a, b) => {
if (typeof a == 'number' && typeof b == 'number') {
           return a + b
       } else {
return 0 }
}

使用箭头函数时,需要注意以下几点。

  • 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
  • 箭头函数不支持new命令,否则会抛出错误。
  • 不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以使用rest参数代替。
  • 不可以使用yield命令,因此箭头函数不能用作generator函数。

js 模块化

//a.js 
var sex="boy";
var echo=function(value){
console.log(value) }

export {sex,echo}

//b.js 
import {sex,echo} from "./a.js" 
console.log(sex)
echo(sex)

TypeError: fsevents is not a constructor

# 检查package.json中dependencies的最新版本:
ncu
#更新dependencies到新版本:
ncu -u

node_modules 占用空间太大的问题

写一个python脚本就可以了。
引用的其他人的: https://segmentfault.com/a/1190000021728456

import os
import time
import shutil

# 脚本目的:自动删除指定文件夹下的相关文件夹 如批量删除node_modules依赖
def get_dirsize(dirPath):
    size = 0
    for root, dirs, files in os.walk(dirPath):
        for file in files:
            try:
                name = os.path.join(root, file)
                temp = os.path.getsize(name)
                size += temp
            except IOError:
                error = "文件异常"
    return size / (1024*1024)

def auto_delete(file_dir,target,days):
    sum_size = 0
    for root, dirs, files in os.walk(file_dir):
        # 获取所有的目录
        for dir in dirs:
            if dir == target:
                abs_dir = os.path.join(root,dir)
                # 没必要扫子级的node_modules
                if(abs_dir.count(target) > 1):
                    break
                diff_time = (time.time() - os.path.getmtime(abs_dir))/60/60/24
                size = get_dirsize(abs_dir)
                if diff_time > days:
                    # 这行是清空文件夹的代码,建议先运行命令扫一遍,确保扫出来的文件都可以删除后,再取消注释。
                    # shutil.rmtree(abs_dir)
                    #print("已经删除:%s"%(abs_dir))
                    print("文件夹位置:%s"%(abs_dir))
                    print("文件夹大小:%.2fMB"%(size))
                    print("上次更新时间距离现在已经过去%.2f天"%(diff_time))
                    print("--------")
                    sum_size += size

    print("已找到%d天内未更新的%s文件夹,共节省%.2fMB空间"%(days,target,sum_size))

# 输入目录地址
root = "/path"
# 输入文件夹名称
target = "node_modules"
# 最近30天修改过的文件夹 不删除node_modules
days = 20
auto_delete(root,target,days)

js nodejs 问题

nodejs更新package.json中的dependencies依赖到最新版本的方法

#安装:
npm install -g npm-check-updates
# 检查package.json中dependencies的最新版本:
ncu
#更新dependencies到新版本:
ncu -u

[====================] 26/26 100%

 @fluentui/react       ^7.115.3  →  ^7.123.4 
 @types/nedb             ^1.8.9  →   ^1.8.10 
 @types/react          ^16.9.35  →  ^16.9.43 
 electron                ^9.0.5  →    ^9.1.1 
 electron-store          ^5.2.0  →    ^6.0.0 
 react-intl-universal    ^2.2.5  →    ^2.3.1 
 ts-loader               ^7.0.4  →    ^8.0.1 
 typescript              ^3.9.2  →    ^3.9.7 
 webpack-cli            ^3.3.11  →   ^3.3.12 

Run npm install to install new versions.

npm init -y

-y 的含义:yes的意思,在init的时候省去了敲回车的步骤,生成的默认的package.jso

npm config

npm config get registry
yarn config get registry
cnpm config get registry
https://registry.npm.taobao.org/

# verbose参数显示下载进度:
cnpm install --verbose electron
yarn add --verbose electron

npm和node更新

  1. 更新你已经安装的NPM库,这个很简单,只需要运行。
npm update –g
  1. 更新Nodejs自身
npm install –g n
n latest

electron 安装失败问题

cd /Users/xxxxxx/.npm/
# 删除目录下的所有文件夹
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g electron

electron -v

# https://github.com/electron/electron-quick-start
# 下载该工程,安装依赖并运行
cnpm install
npm start 

相关文章

网友评论

      本文标题:NojdeJs以及NPM问题记录

      本文链接:https://www.haomeiwen.com/subject/zurkrktx.html