使用ES6模块,我知道我可以为命名导入添加别名
import { foo as bar } from 'my-module';
Run Code Online (Sandbox Code Playgroud)
而且我知道我可以导入默认导入
import defaultMember from 'my-module';
Run Code Online (Sandbox Code Playgroud)
我想为默认导入添加别名,我认为以下内容可行
import defaultMember as alias from 'my-module';
Run Code Online (Sandbox Code Playgroud)
但这会导致解析(语法)错误.
我怎么能(或者我可以?)别名默认导入?
我一直在寻找互联网,没有明确的答案.
目前使用的NodeJS只CommonJS的语法来加载模块,如果你真的想使用标准ES2015模块语法,你要么必须事先transpile,或在运行时使用外部模块加载.
目前我不太喜欢使用这两种方法,NodeJS维护者是否计划支持ES2015模块?我还没有找到关于此的暗示.
目前NodeJS 6.x声称支持96%的ES2015功能,但没有任何模块参考(NodeJS ES2105支持链接).
你知道NodeJS是否会在不久的将来支持这些模块?
我试图在节点中获取es6导入的挂起,并尝试使用此示例中提供的语法:
Cheatsheet链接:https://hackernoon.com/import-export-default-require-commandjs-javascript-nodejs-es6-vs-cheatsheet-different-tutorial-example-5a321738b50f
我正在查看支持表:http://node.green/,但无法找到支持新导入语句的版本(我尝试查找文本import/require)我目前正在运行节点8.1. 2并且还认为,由于cheatsheet是指.js文件,它应该与.js文件一起使用.
当我运行代码时(取自cheatsheet的第一个例子):
import { square, diag } from 'lib';
Run Code Online (Sandbox Code Playgroud)
我收到错误:SyntaxError:意外的令牌导入.
参考lib我正在尝试导入:
//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
export function diag(x, y) {
return sqrt(square(x) + square(y));
}
Run Code Online (Sandbox Code Playgroud)
我缺少什么,如何让节点识别我的import语句?
使用ES6,我可以从这样的文件中导入几个导出:
import {ThingA, ThingB, ThingC} from 'lib/things';
Run Code Online (Sandbox Code Playgroud)
但是,我喜欢每个文件有一个模块的组织.我最终得到这样的导入:
import ThingA from 'lib/things/ThingA';
import ThingB from 'lib/things/ThingB';
import ThingC from 'lib/things/ThingC';
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这一点:
import {ThingA, ThingB, ThingC} from 'lib/things/*';
Run Code Online (Sandbox Code Playgroud)
或类似的东西,理解的约定是每个文件包含一个默认导出,并且每个模块的名称与其文件相同.
这可能吗?
我还不熟悉ECMAScript 6.我刚刚克隆了React Starter Kit repo,它使用ES6作为应用程序代码.我很惊讶地发现linter 配置为禁止出现use strict指令,我认为这是在ES6之前的JavaScript中推荐的.那有什么意义呢?
我试图确定这两个之间是否存在任何重大差异,除了能够通过以下方式导入export default:
import myItem from 'myItem';
Run Code Online (Sandbox Code Playgroud)
使用export const我可以做:
import { myItem } from 'myItem';
Run Code Online (Sandbox Code Playgroud)
我想知道除此之外是否存在任何差异和/或用例.
是否可以将选项传递给ES6导入?
你怎么翻译这个:
var x = require('module')(someoptions);
Run Code Online (Sandbox Code Playgroud)
到ES6?
假设我有一个我要导出的变量.有什么区别
export const a = 1;
Run Code Online (Sandbox Code Playgroud)
VS
export let a = 1;
Run Code Online (Sandbox Code Playgroud)
我明白之间的差别const和let,但是当你导出它们,有什么区别?
我通过使用fetch来调用Web服务,但是我可以在axios的帮助下做同样的事情.所以现在我很困惑.我应该选择axios还是获取?
我遇到了一个使用以下语法导入库的javascript库:
import React, { Component, PropTypes } from 'react';
Run Code Online (Sandbox Code Playgroud)
上述方法与以下方法有什么区别?
import React, Component, PropTypes from 'react';
Run Code Online (Sandbox Code Playgroud) es6-modules ×10
ecmascript-6 ×8
javascript ×8
module ×2
node.js ×2
ajax ×1
es6-promise ×1
reactjs ×1
strict ×1