目录

dash.js 4.1.1的环境配置和相关问题解决

一、在服务器上安装nodejs

  1. 服务器os为ubuntu,因此去到nodejs官网下载对应的node-v15.12.0-linux-x64.tar.xz,我下载的nodejs版本为15。

    1
    
    wget www.downloadlinkof.nodejs
    
  2. 解压

    1
    
    tar -xvf node-v15.12.0-linux-x64.tar.xz
    
  3. 重命名和创建软连接:注意这里的/path/to/nodejs/bin/node/path/to/nodejs/bin/npm分别是到nodejs下node和npm的存放路径

    1
    2
    3
    
    mv node-v15.12.0-linux-x64 nodejs
    ln -s /path/to/nodejs/bin/node /usr/local/bin/node
    ln -s /path/to/nodejs/bin/npm /usr/local/bin/npm
    
  4. 安装完成之后进行验证

    1
    2
    
    node -v
    v15.12.0
    

二、首次编译

源文件不够,编译失败

这里是由于服务器上的dashjs原本不是照搬源码,因此有一些配置文件并没有全部放进来。所以再将源包中的src/package.jsongithook.jseslintrc等缺失的文件原封不动的放进去即可

环境不完整

  1. 找不到tsc

    1
    
    npm install typescript -g
    

    此时仍然找不到tsc,参考stackoverflow上的一个评论,需要将nodejs的bin路径加到环境变量中去

    1
    
    export PATH=/prefixsPath/bin:$PATH
    

    其中/prefix'sPath/binnodejs/bin的路径,即export PATH=/root/nodejs/bin:$PATH

    注意export只会在当前终端结束之前生效,为了避免每次都重复打这一行命令,应该直接改对所有用户生效的环境变量

    1
    
    sudo vim /etc/profile
    

    添加export这一句话到末尾,然后再source一下

    1
    
    source /etc/profile
    
  2. rimraf

    1
    
    sudo apt-get install
    
  3. webpack

    1
    2
    
    npm install -g webpack
    npm i -g webpack-cli
    

JavaScript heap out of memory 内存溢出

👉参考,和一些待后续学习的方法:Debugging Memory Leaks in Node.js Applications

1
export NODE_OPTIONS="--max-old-space-size=512"

也添加到/etc/profile


至此,dashjs环境上的问题告一段落。

后续todo:dashjs上的内存泄漏都在哪里——nodejs的内存泄漏调试办法


后记:我后来在树莓派4B上试了试整个环境的配置,全程丝滑顺利,让我怀疑方向是否错了?

直接把dashjs放在根目录

然后修改/etc/nginx/sites-available/default(服务器上nginx的设置文件路径是:/usr/local/nginx/conf/nginx.conf)中的

1
root /home/pi/dashjs;

有时候需要再重启一下ngnix服务

1
sudo service nginx restart

这里就是nginx的站点根目录。在浏览器访问网址:http://ip.of.your.server/samples/dash-if-reference-player/index.html即可看到sample-player界面了