在node.js中使用引擎模板:
art-template不仅在浏览器可以使用,也可以在node中使用,并且模板引擎起早诞生于服务器领域,在node中使用模板引擎:
1.安装:在一个文件目录下执行命令:npm install art-template
2.在需要使用的文件模块中使用require方法加载:art-template即可。
3.查阅文档,使用引擎模板API,如:
<!--简单原理,下面是tpl.html模板:-->
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<p>大家好,我叫:{{ name }}</p>
<p>我今年 {{ age }} 岁了</p>
<h1>我来自 {{ province }}</h1>
<p>我喜欢:{{each hobbies}} {{ $value }} {{/each}}</p>
</body>
</html>
<!--将上面的模板使用下面的值渲染:-->
var template = require('art-template');
var fs = require('fs');
fs.readFile('./tpl.html', function(error, data) {
if (error) {
return console.log('文件读取失败');
var ret = template.render(data.toString(), {
name: 'Jack',
age: 18,
province: '深圳市',
hobbies: [
'打游戏',
'听歌',
title: '个人信息'
});
console.log(ret);
});
<!--下面案例实现将数据渲染并响应给浏览器:-->
var http = require('http');
var fs = require('fs');
var server = http.createServer();
var urldir = 'E:/web前端/web前端笔记/11.node/11.像Apache一样打印目录结构/www';
server.on('request', function(request, response) {
fs.readFile('./template.html', function(erro, data) {
if (erro) {
return response.end('404 Not Found.');
fs.readdir(urldir, function(error, files) {
if (error) {
return response.end('Can not find www dir.');
var content = '';
files.forEach(function(item) {
content += `
<td><a href="">${item}/</a></td>
});
data = data.toString();
data = data.replace('str', content);
response.end(data);
});
});
});
server.listen(4000, function() {
console.log('running...')
});
exports和module.exports:
1.在node中每个模块中默认有一个module,该module中有一个成员:exports ,代码底层最后有一句:return module.exports,如:
var module = {
exports:{}
return module.exports;
2.exports 是module.exports的一个引用,可以简化书写,在模块中 exports === module.exports,但是导出一个成员的时候是使用:module.exports = ‘新的值’,而不是使用exports = ‘新的值’,因为exports只是module.exports的一个引用,模块底层最终: return module.exports
3.重新建立引用关系:exports = module.exports,重新建立引用关系后,exports和module.exports的指向相同。
在一个node.js文件中载入另一node.js文件并使用其中的变量:
在node中没有全局作用域,只有模块作用域,超出作用域无效,外部访问不到内部,内部也访问不到外部;如:在a.js中定义的str变量默认是不能在被载入a.js的b.js文件中访问到。
有的时候使用一个模块的目的不仅是执行这个模块这么简单,还需要拿到里面的成员,此时可以使用require的对象:export.对象名即可导出某模块,这样就能访问到另一个模块中的变量了,如:
const b = require('./b.js');
console.log(b.str);
console.log(b.name);
package.json文件:
用来描述一个项目中所引用的第三方包,当一个项目被下载下来后。如果是将包定义在了package.json文件,那么需要npm install先下载第三方依赖。这样可以节约空间,其指定包的配置为dependencies;如果一个包需要配置到package.json中,那么安装的时候需要在后面加–save,如:
"name": "express-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.16.2"
属性说明:
name - 包名
version - 包的版本号
description - 包的描述
homepage - 包的官网 url
author - 包的作者姓名
contributors - 包的其他贡献者姓名
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js
keywords - 关键字
手动生成package.json文件:npm init
提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海
在node.js中使用引擎模板:art-template不仅在浏览器可以使用,也可以在node中使用,并且模板引擎起早诞生于服务器领域,在node中使用模板引擎:1.安装:在一个文件目录下执行命令:npm install art-template2.在需要使用的文件模块中使用require方法加载:art-template即可。3.查阅文档,使用引擎模板API,如: <!--简单原理,下面是tpl.html模板:--> <!DOCTYPE html> <
有时,您创建一个存储库,该存储库生成项目的打包版本,并且希望该存储库拥有自己的package.json文件,但从原始项目继承的名称和版本相同。
如果要全局安装package-json-from-template,请在终端上使用以下命令:
$ npm install -g package-json-from-template
否则,只需使用以下命令将PackageJsonFromTemplate添加到您的项目中:
$ npm install --save-dev package-json-from-template
如果您更喜欢使用Yarn:
package.json 文件详解前言一、package.json 文件作用二、package.json 文件创建三、package.json 文件示例四、package.json 文件配置说明
五、项目依赖
六、开发依赖
每个项目的根目录下面都有一个package.json文件,定义了这个项目所需要各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npminstall命令根据这个配置文件,自动下载所需要的模块,也就是配置项目所需的运行和开发环境
node_module...
1.前端模块化规范的分类
在 ES6 模块化规范诞生之前,JavaScript 社区已经尝试并提出了AMD、CMD、CommonJS等模块化规范。
但是,这些由社区提出的模块化标准,还是存在一定的差异性与局限性、并不是浏览器与服务器通用的模块化标准,例如:
⚫ AMD 和 CMD 适用于浏览器端的 Javascript 模块化
⚫ CommonJS 适用于服务器端的 Javascript 模
exports 字段 (https://webpack.js.org/guides/package-exports/)
exports 字段声明了一个对应关系,用 import "package" 和 import "package/sub/path" 会返回不同的模块。
这替换了默认返回 main 字段文件的行为。
当指定了 exports 字段时,只有声明了那些模块是可用的,其他的模块会抛出 ModuleNotFound Error。
"exports": {
".": "./main.
当前节点版本是否支持package.json中的“ exports”字段?
在撰写本文时,节点v12.17 +和v13 +支持的。
如果当前节点版本支持该库,则导出true如果不支持,则导出false如果位于浏览器中,则导出null 。
要求或导入has-package-exports/conditional以确定当前环境是否支持条件导出(在撰写本文时,节点v12.17 +和v13.7 +)。
要求或导入has-package-exports/pattern以确定当前环境是否支持导出模式(在撰写本文时,节点v12.20 +和v14.13 +)。
只需克隆仓库, npm install ,然后运行npm test
var Config = require ( './' ) ;
var config = new Config ( ) ;
console . log ( config . expand ( require ( './package' ) ) ) ;
使用传递给的来解析值(以作为起点在该模式上构建):
仅分析在模式上具有相应字段的属性。
没有相应字段的任何属性都将原样返回。
请参阅以了解如何在架构上添加或覆盖字段。
注册.field时,可以选择定义default值。 当运行.expand ,缺少npm所需或推荐的属性,如果可以在存储库中找到有效数据,则expand-pkg尝试创建该字段。
1、npm是什么
npm是前端开发广泛使用的包管理工具,它让js开发者分享、复用代码更方便。可以重复的框架代码被称为包(package)或者模块(module),一个包可是是一个文件夹里放着几个文件夹,还有一个package.json文件。
npm的作用就是让我们把可复用的框架代码发布到一个地方,可以供大家一起使用。
2、安装npm
npm是依赖node.js的,先去官网https://n...
随着互联网的飞速发展,各种技术日益更新,迭代…。而前端无疑是变化最大的一种,做前端的人都知道nodejs,而nodejs有很多的依赖,那么我们在新建一个项目的时候,如何快速的导入这些依赖从而创建一个nodejs项目呢???
前端入门级
Linux stone 4.15.0-29deepin-generic #31 SMP Fri Jul 27 07:12:08 UTC 201...
这会告诉 Node.js 解释器使用 ES6 模块语法来解析你的代码。当然,在你的代码中,你也需要使用 `import` 和 `export` 关键字来定义模块的导入和导出。
如果你需要支持 CommonJS 模块语法,你可以将 `type` 的值设置为 `commonjs`,或者干脆省略这个配置项。这时,Node.js 解释器会默认使用 CommonJS 模块语法来解析你的代码。