nodeJs开发-01
2023-06-13 09:13:11 时间
基础教程,简单记录一下
模块化的使用
1.新建ex.js 并且声明变量:
var val='hello world'
export {val}
2.新建im.js 并且导入模块
import {val} from './ex'
console.log(val)
3.在命令行使用node命令运行im.js
D:\codingSpace\nodeImooc\chapter02>node im.js
(node:10092) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
D:\codingSpace\nodeImooc\chapter02\im.js:1
import {val} from './ex'
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1001:16)
at Module._compile (internal/modules/cjs/loader.js:1049:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12)
at internal/main/run_main_module.js:17:47
报错
解决办法两个:
A.使用第一种,修改文件后缀 都修改成mjs结尾的文件
然后尝试运行:
并且修改im中的代码
import {val} from './ex.mjs'
console.log(val)
成功
B.添加配置文件
(node:6500) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
添加配置文件package.json
{
"type": "module"
}
运行成功
背后的故事:
ECMAScript Module规范
我们新建一个js文件
console.log(module)
输出如下:
D:\codingSpace\nodeImooc\chapter02>node ex.js
Module {
id: '.',
path: 'D:\\codingSpace\\nodeImooc\\chapter02',
exports: {},
parent: null,
filename: 'D:\\codingSpace\\nodeImooc\\chapter02\\ex.js',
loaded: false,
children: [],
paths: [
'D:\\codingSpace\\nodeImooc\\chapter02\\node_modules',
'D:\\codingSpace\\nodeImooc\\node_modules',
'D:\\codingSpace\\node_modules',
'D:\\node_modules'
]
}
相关文章
- linuxnodejs安装及环境配置_nodejs不是内部外部命令
- 35·灵魂前端工程师养成-使用nodejs实现简单nginx功能
- nodejs 搭建脚手架
- nodejs中的方法和模块的使用详解编程语言
- NodeJS的异步编程风格详解编程语言
- [nodejs] nodejs开发个人博客(五)分配数据详解编程语言
- [nodejs] nodejs开发个人博客(一)准备工作详解编程语言
- NodeJS Stream 二:什么是 Stream详解编程语言
- NodeJS Express中无法获取到存储到session中的值
- nodejs使用Node.js优雅地整合MongoDB(mongodb整合)
- 用nodejs访问ActiveX对象,以操作Access数据库为例。
- nodejs的require模块(文件模块/核心模块)及路径介绍
- NodeJS的url截取模块url-extract的使用实例
- 利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
- 跟我学Nodejs(一)---Node.js简介及安装开发环境
- nodejs中使用monk访问mongodb
- 使用nodejs、Python写的一个简易HTTP静态文件服务器
- 使用Nodejs开发微信公众号后台服务实例