nodejs相关2

1、模板引擎art-template用法示例:

安装方法:在指定目录下,输入npm install art-template

需要在浏览器中引用该模板

<script src="node_modules/art-template/lib/template-web.js"></script>

<script type="text/template" id="tpl">

大家好,我叫:{{name}}

我今年{{age}}岁了

我来自{{province}}

我喜欢:{{each hobbies}} {{$value}} {{/each}}

</script>

<script>

var ret=template('tpl',{name:'Jake',age:18,province:'北京市',hobbies:[

'写代码','唱歌','打游戏'

]})

console.log(ret);

</script>

2、在node中使用art-template

node中把模板字符串存在了HTML文件中, 浏览器中是把模板字符串存在了script标签中。

fs.readFile('index.html',function(err,data){

if(err){

return console.lohg('读取文件失败了');

}

//默认读取到的data是二进制数据,而模板引擎的render方法需要接收的是字符串。所以需要把data二进制数据转化为字符串才可以给模板引擎使用。

var ret =template.render(data.toString(),{

name:'Jack',

age:18,

province:'北京市',

hobbies:[

'写代码',‘唱歌’,‘打游戏’

]

})

console.log(ret);

})

2、Node中的模块系统

使用node编写应用程序主要就是在使用

(1)EcmaScript语言    和浏览器不一样,在node中没有BOM和DOM

(2)核心模块   文件操作的fs,http服务的http ,URL路径操作模块,path路径处理模块,os操作系统信息模块等

(3)第三方模块  art-template  必须通过npm下载才能使用

(4)自己写的模块  自己创建的文件

模块化:有文件作用域,通信规则(加载require,导出)

CommonJS模块规范:在node中javascript还有一个很重要的概念:模块系统

模块作用域(解决变量命名冲突的问题),使用require方法用来加载模块,使用exports接口对象用来导出模块中的成员。

*如果一个模块需要直接导出某个成员,而非挂载的方式,这时必须使用module.exports='hello';(导出单个对象)

导出多个对象:exports.a="hello"; exports.b="world";

在express中配置art-template模板引擎

首先安装:npm install --save art-template express-art-template

配置:app.engine('html',require('express-art-template'))

使用:app.get('/',function(req,res){

//express默认会去项目中的views目录找index.html

res.render('index.html',{title:'hello world'})

如果希望修改默认的views视图渲染存储目录,可以

app.set('views',目录路径)   //注意第一个参数views千万不要写错

})

用get请求表单提交实例:

app.js

var express=require('express');
var app=express();
//当以/public/开头的时候,去./public/目录中找对应的资源(公开资源的使用方式)
app.use('/public/',express.static('./public/'));
//当省略第一个参数的时候,则可以通过省略/public的方式来访问
// app.use(express.static('./public/'));

//可以认为a是public的
// app.use('别名/a/',express.static('./public/'));

app.engine('html',require('express-art-template'));
app.get('/haha',function(req,res){
    res.render('404.html');
});
var comments=[{
    name:'张三',
    message:'今天天气真不错',
    dataTime:'2018-09-15'
},{
    name:'张三1',
    message:'今天天气真不错',
    dataTime:'2018-09-15'
},{
    name:'张三2',
    message:'今天天气真不错',
    dataTime:'2018-09-15'
},{
    name:'张三3',
    message:'今天天气真不错',
    dataTime:'2018-09-15'
},{
    name:'张三4',
    message:'今天天气真不错',
    dataTime:'2018-09-15'
}];
app.get('/',function(req,res){
    res.render('index.html',{comments:comments});
});
app.get('/post',function(req,res){
    res.render('post.html');
});
app.get('/pinglun',function(req,res){
    var comment=req.query;
    comment.dateTime="2018-09-11 15:45:10";
    comments.unshift(comment);
    // res.statusCode=302;
    // res.setHeader('Location','/');
    res.redirect('/');//重定向,和前两行代码的作用一样
});

app.get('/login',function(req,res){
    res.send(`
            <!DOCTYPE html>
            <html lang="en">
                <head>
                    <meta charset="UTF-8" />
                    <title>Document</title>
                </head>
                <body>
                    <h1>hello login</h1>
                </body>
            </html>

index.js

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>留言本</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="header container">
    <div class="page-header">
        <h1>Example page header <small>Subtext for header</small></h1>
        <a href="/post" class="btn btn-success">发表留言</a>
    </div>
</div>
<div class="comments container">
    <ul class="list-group">
        {{each comments}}
        <li class="list-group-item">{{$value.name }}说:{{$value.message}}<span class="pull-right">{{$value.dataTime}}</span></li>
        {{/each}}
    </ul>
</div>
</body>
</html>

post.js

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="header container">
    <div class="page-header">
        <h1><a href="/">首页</a><small>发表评论</small></h1>
    </div>
</div>
<div class="comments container">
    <form action="/pinglun" method="get">
        <div class="form-group">
            <label for="input_name">你的大名</label>
            <input type="text" name="name" class="form-control" required minlength="2" maxlength="10" placeholder="请写入你的姓名">
        </div>
        <div class="form-group">
            <label for="textarea_message">留言内容</label>
            <textarea class="form-control" name="message" id="textarea_message" cols="30" rows="10" required minlength="5" maxlength="20"></textarea>
        </div>
        <button class="btn btn-default" type="submit">发表</button>
    </form>
</div>
</body>
</html>

 

### 回答1: 可以使用以下步骤在 AWS EC2 上安装 Node.js: 1. 连接到 EC2 实例,使用 ssh 登录。 2. 更新系统软件包: ``` sudo yum update ``` 3. 安装 Node.js 和 npm: ``` sudo yum install -y nodejs ``` 4. 检查 Node.js 和 npm 的版本: ``` node -v npm -v ``` 5. 安装完成。 注意:此示例使用的是 Amazon Linux 2,如果您使用的是其他版本的 Linux,可能需要根据系统类型和版本使用不同的安装命令。 ### 回答2: 要在AWS EC2实例上安装Node.js,可以按照以下步骤进行操作: 1. 首先,登录到AWS控制台并导航至EC2管理页面。 2. 在EC2管理页面上,点击“启动实例”按钮以创建一个新的EC2实例。 3. 在“启动实例”页面上,选择合适的AMI(Amazon Machine Image),这里推荐选择基于Amazon Linux的AMI。 4. 在“实例类型”部分,选择适合您需求的实例类型,并设置其他配置选项。 5. 在“安全组”的设置中,确保至少启用SSH(端口22)和HTTP(端口80)的入站流量。 6. 点击“启动”按钮,并选择适当的密钥对进行SSH登录。 7. 一旦实例启动完成,使用SSH登录到EC2实例,可以使用终端或PuTTY等SSH客户端工具进行登录。 8. 安装Node.js,可以通过以下步骤进行: - 运行以下命令更新软件包列表:`sudo yum update -y` - 安装Node.js:`curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -`,然后运行`sudo yum install nodejs -y` 9. 验证Node.js已成功安装,运行以下命令:`node -v` 和 `npm -v`。如果返回相应版本号,则表示安装成功。 10. 安装其他必要的软件包或依赖项,以便在EC2上运行您的应用程序。 安装完成后,您便可以在AWS EC2实例上使用Node.js来开发和运行您的应用程序。请确保在EC2实例的安全组中打开相应的端口,以便能够从Internet访问您的应用程序。 ### 回答3: 在 AWS EC2 实例上安装 Node.js 可以按照以下步骤进行操作: 1. 登录到 AWS EC2 控制台,并选择所需的实例。 2. 确保实例已经成功连接到您的电脑。 3. 打开终端或命令提示符,并使用 SSH 连接到 EC2 实例。 4. 在终端输入以下命令以更新操作系统: ``` sudo yum update -y ``` 5. 安装 Node.js。您可以使用以下命令来安装 Node.js: - 对于 Amazon Linux 2 或其他基于 Red Hat 的系统: ``` curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - sudo yum install -y nodejs ``` - 对于基于 Ubuntu 或 Debian 的系统: ``` curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs ``` 6. 确保 Node.js 已经成功安装,可以通过运行以下命令来检查版本: ``` node -v ``` 7. 安装完成后,您可以继续配置您的 Node.js 应用程序或执行其他相关操作。 请注意,具体操作可能会因为您使用的操作系统版本和 EC2 实例的配置而有所不同。此外,安装 Node.js 时请确保您具有适当的权限和访问权限,并按照安装指南进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值