首页>>前端>>Node->nodejs打包部署(nodejs打包可执行文件)

nodejs打包部署(nodejs打包可执行文件)

时间:2023-11-30 本站 点击:0

node 项目打包部署至服务器

例: 要发凯祥布的项目为 /code/project

原因: npm 版本过低. yum 仓库中的 nodejs 版本相比主流版本差太多了,经常会遇到各种莫名其妙的问并前题

解决: 直接卸载绝孙清,改用源码安装的方式

解释下vue.js为什么需要node js环境

看了下网上的解释,一般都是将介绍vue.js的文本与node js的文本 贴过来, 再解释说 前者是前端开发框架,后者是js的运行环境,可以以js开发后台服务器。似乎没有说到点子上。

我的理解是

1. nodejs是一个很强大的js 运行环境,类似于jvm之于java。因此对js的支持非常好,催生了基于js的一系列应用开发。源于各js的应用的成长壮大,继而催生出了 npm

2. NPM是基于node js环境的一个包管理器。试问 为什么单纯的 jsp/php里面没有NPM?因为没有一个类似于nodejs的强大的js运行环境的支撑。由于nodejs 催生了js的兴盛,又进而催生出NPM来打包管理这些基于js的应用

3. 随着前端开发的网页元素不断丰富和复杂化,催生出webpack 来进一步规划js应用的打包部署。前端孙丛目标页面资源,通过webpack来打包压缩出来。

4. 可以看出vue.js 就是遵循的webpack 的方式来部署的,我们使用npm run build之后,会生成一个目标dist文件。这即是目标静态web资源,放在nginx下面即可通过网页访问。

综上所述,vue.js 是通过 webpack来打包,而webpack 又基于 npm, npm需要nodejs环境。戚凯猛这就是为什么vue.js 还需要安装nodejs环境。

将目标dist文件夹拷贝到一台未安装nodejs的 nginx服务器上,访问页高桥面可以正常响应逻辑。这时跟nodejs没有任何关系,服务器又不是nodejs在担当,而是nginx。如果你用nodejs来部署服务器,则需要在目标机上安装nodejs.

简单的说:你既可以开发nodejs的服务程序,亦可以用基于nodejs的npm webpack来打包 目标前端页面。vue.js 使用webpack来打包,故而需要nodejs环境。

使用Nodejs部署智能合约

实现智能合约的方式很多种,可以用truffle框架来实现,编译,部署。

这里介绍一种简单的使用nodejs来实现,编译,部署的方法。

创建一个nodejs项目,实现一个简单的智能合约。

这个合约实现了一个造币和转币的逻辑。

我们的合约是运行在evm上面的字节历升码,solidity是静态语言,需要通过编译器生成evm的字节码。

调用 node compile.js ,对BaseToken进行编译,生成字节码。web3中提供了一个部署合约的接口,使用如下,

利用编译生成的abi和bytecode,创建一个合约对象,然后进行发布,等待着异步执行的方法输出合约地址 contractAddress ,这样就完成了部署。不过这种方式有一个问题,就是在发布合约时,你的私钥处于联网状态,

处于安全策略,我们需要尽量避免私钥在联网状态。

以太坊上部署合约是向空地址发送一个附有字节码的签名交易,其中发送者就是这个合约的拥有者。因此我们肢悄老只需要将合约构建成一笔交易,我们在无网状态下对这笔交易进行签名,然后将签名发送到以太坊网络中。这样能够降低我们私钥被泄漏的风险。

对合约的签名方法如下:

以上对一个合约签名,这里需要注意的问题是,to的地址需要是,空地址。

完成签名运早之后,我们把这笔交易发送出去就好,最简单的方法就是使用 etherscan的发送Tx的方式 ,一旦发送完成,部署完成,就可以看到合约地址。

基于nodejs打包部署vue项目

一.本地环境调试请求跨域问题

1.配置代理域名:

config/index.js

2.npm run dev 打包  生成 dist 目录 巧亏拆 http 服务运行 里面的index.html文件

二.线上环境请求跨域

1.配置空世代理:

#简单代理

    location /api {

    add_header 'Access-Control-Allow-Origin' '*';

    proxy_pass http://域名;

}

2.打包命令 : npm run build

生成 dist 目录 孝枣 http 服务运行 里面的index.html文件

Jenkins自动部署笔记(二)全局工具配置

前提条件:

1.已安装并启动Jenkins。

2.已安装下列插件。

(1)Git plugin 可能默认已经安装

(2)Git client plugin 可能默认已经安装

(3)Maven Integration plugin

(4)Publish Over SSH 用于远程部署

(5)Gitlab Hook Plugin 用于gitlab提交触发自动部署

以上内容在Jenkins自动部署笔记(一)中亏轮有详细介绍

进入系统管理。

进入全局工具配置。

1.JDK

(1)点击“JDK安装...”

(2)点击新增JDK按钮,填写别名(随便起)、JDK安装路径即可。JDK在上一节已安装,所以这里我们直接选择安装路径。

2.Git

填写名称(随便起)、安装路径即可。

3.Maven

点击新增Maven按钮,勾选自动安装,在“从Apache安装”下拉列表中选择一个版本即可。

4.NodeJS(主要用于vue前端项目的自动打包部署)

点击新增NodeJS按钮,填写名称(随便起),勾选自动安装,在版本下拉唯空闭框中选择一个NOdeJS版本。

5.点击保存指裂按钮后,刚才选择自动安装的工具会在后台自动安装。到此,全局工具配置基本结束。

nodejs 如何部署到服务器上?

跟你在本地开发是相同的。

1、安装指定版悔蠢本的node.js(服务器基本软件的安装)

2、上传代码到服迟前兆务器(可以通过ftp、ssh、git等方式)

3、安装项目依赖的模块

 npm install

4、启动应用(也可以通过forever、pm2等工具进行管理)

 node ./www/bin

当然,如果你深谙运维之道,可以直接通过docker等方案将运行环境容容器化。

基本的Linux运维知识的话可以参考linuxprobe.com。

还有几个需要注意的点:

1、运行权限:注意做好应用之间的隔离(使用低权限用户、文件系统隔离等),避免应用崩溃导致系统宕机等风码租险

2、80端口:通过nginx等进行反向代理,应用本身占用1024后的端口(无需root权限)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Node/4197.html