如何本地搭建一个支持es6的import from 模块导入环境

Posted 古墩古墩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何本地搭建一个支持es6的import from 模块导入环境相关的知识,希望对你有一定的参考价值。

今天想使用一下import  from语法测试个东西,结果 在node环境中运行时,报错,说不支持import语法,之前都是在vue-cli的环境中直接使用的,还以为不需要什么环境呢。。。

import from是es6语法,需要用babel将es6语法转换成es5语法,才能在node环境中正常执行,下面来一步一步简单的搭建一个支持import  from模块导入语法的环境,

安装node就不用说了,必须品;

首先 初始化一下,会出现package.json文件

npm init -y 

 

安装babel, 有了babel, 能够使用更多高级词法!

npm install --save babel-core
npm install --save babel-preset-env 或者 npm install --save babel-preset-es2015
npm install babel-cli -g

接着在项目根目录创建一个名字为.babelrc的文件, 文件内容入如下

{
    "presets": [
      "es2015"
    ],
    "plugins": []
}

或者:

{                
    "presets": [ 
         "env"   
     ],          
    "plugins": []
}

到目前为止babel算是安装完毕了。

下面来测试一下

我们创建一个index.js

import {a} from "./module1"

a()

创建一个module1.js

export function a(){
    console.log(1111);
}

然后运行一下:

babel-node index.js

 

 成功!!!

 简单区分一下 

1、import from(导入)      export / export default  (导出)

2、require(导入)      module.exports(导出)

 

1是es6的模块导入语法,export 是单个导出,可以多次出现  export.default只能出现一次

2是common.js的模块语法  module.exports导出一个对象(nodejs遵守这个模块规则)

common.js模块导入举个例子

module2.js

module.exports = {
    a(){
        console.log("common.js");
    }
} 

index.js

let {a} = require("./module2")
a()

运行一下:

node index.js

 

 

 

以上是关于如何本地搭建一个支持es6的import from 模块导入环境的主要内容,如果未能解决你的问题,请参考以下文章

node 环境下一个文件如何同时支持 import 和 require

如何让浏览器支持ES6中的import和export语法

ES6 exports 与 import 使用

ES6 React 组件引用本地图片问题

解决es6中webstrom不支持import的一个简单方法

vue中如何在本地导入js文件