标签: es6-modules

使用'fs'中的导入fs

我想import fs from 'fs'在JavaScript中使用.这是一个示例:

import fs from 'fs'

var output = fs.readFileSync('someData.txt')

console.log(output)
Run Code Online (Sandbox Code Playgroud)

我运行文件时遇到的错误node main.js是:

(function (exports, require, module, __filename, __dirname) { import fs from 'fs
'
                                                              ^^^^^^
SyntaxError: Unexpected token import
Run Code Online (Sandbox Code Playgroud)

我应该在节点中安装什么才能从其他地方导入模块和功能?

javascript es6-modules

40
推荐指数
5
解决办法
6万
查看次数

哪些浏览器支持ECMAScript 6的导入和导出语法?

我目前正在使用MEAN Stack编写Web应用程序,并尝试在ECMAScript 6 JavaScript中编写代码; 但是,在使用导入和导出语法时,我在Chrome和Firefox中都出现错误.目前是否有任何浏览器完全支持ECMAScript 6?

请注意:我不是在询问浏览器何时支持ECMAScript 6.我问的是哪些浏览器支持ECMAScript 6导入和导出语法.请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Features_not_yet_supported_by_Firefox

javascript browser-support ecmascript-6 es6-module-loader es6-modules

38
推荐指数
4
解决办法
3万
查看次数

使用--experimental-modules标志时,节点中__dirname的替代方法

--experimental-modules在运行节点应用程序时使用该标志以使用ES6模块.

但是,当我使用此标志时,元变量__dirname不可用.是否有另一种方法可以获得__dirname与此模式兼容的相同字符串?

node.js ecmascript-6 es6-modules

38
推荐指数
12
解决办法
6592
查看次数

是否提升了ES6模块的进口?

我知道在新的ES6模块语法中,JavaScript引擎不必评估代码以了解所有导入/导出,它只会解析它并"知道"要加载的内容.

这听起来像是在吊装.ES6模块是否悬挂?如果是这样,它们会在运行代码之前加载吗?

这段代码可以吗?

import myFunc1 from 'externalModule1';

myFunc2();

if (Math.random()>0.5) {
    import myFunc2 from 'externalModule2';
}
Run Code Online (Sandbox Code Playgroud)

javascript hoisting ecmascript-6 es6-modules

37
推荐指数
2
解决办法
1万
查看次数

如果默认为text/javascript,脚本元素的HTML"nomodule"属性的目的是什么?

我不清楚为什么在nomodule支持ES6模块的新浏览器中存在该属性.

在HTML 5中,该type属性是可选的,默认为text/javascript:

type属性提供脚本的语言或数据的格式.如果该属性存在,则其值必须是有效的MIME类型.不得指定charset参数.如果属性不存在,则使用默认值"text/javascript".

它不默认<script type="module" src="module.js"></script>.此默认值已更改?如果没有,为什么nomodule有必要?我可以<script src="bundle.js"></script>不用nomodule吗?

html javascript html5 ecmascript-6 es6-modules

34
推荐指数
2
解决办法
7497
查看次数

编程式 Webpack 和 Jest (ESM):无法解析没有“.js”文件扩展名的模块

我以编程方式使用 webpack,结合 typescript、ESM 和 jest。在一个玩笑测试中,我.js在导入 ES 模块时因不包含文件扩展名而收到错误。例如:

    Module not found: Error: Can't resolve 'modulename' in '/path/components'
    Did you mean 'modulename.js'?
    BREAKING CHANGE: The request 'modulename' failed to resolve only because it was resolved as fully specified
    (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
    The extension in the request is mandatory for it to be fully specified.
    Add …
Run Code Online (Sandbox Code Playgroud)

node.js typescript webpack jestjs es6-modules

34
推荐指数
2
解决办法
3万
查看次数

解构默认导出对象

我可以在导入时构造默认导出对象吗?

给出以下导出语法(export default)

const foo = ...
function bar() { ... }

export default { foo, bar };
Run Code Online (Sandbox Code Playgroud)

以下导入语法是否有效JS?

import { foo, bar } from './export-file';
Run Code Online (Sandbox Code Playgroud)

我问,因为它在我的系统上工作,但我被告知它不应该按照规范工作.

javascript es6-modules

31
推荐指数
2
解决办法
9287
查看次数

如何在TypeScript中使用导入的名称空间

我在两个单独的文件中有两个类,一个从另一个扩展.基类包含一些import使用节点模块的语句.我不清楚为什么派生类(在一个单独的文件中)不能识别基类!!! ???

有人可以澄清一下吗?

// UtilBase.ts

/// <reference path="../typings/node.d.ts" />
/// <reference path="../typings/packages.d.ts" />

import * as path from "path"; // <---- THIS LINE BREAKS THE BUILD!!!!

namespace My.utils {

    export class UtilBase {

        protected fixPath(value: string): string {
            return value.replace('/', path.sep);
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

然后

// UtilOne.ts
/// <reference path="UtilBase.ts" />

namespace My.utils {

    export class UtilOne extends My.utils.UtilBase {

    }
}
Run Code Online (Sandbox Code Playgroud)

编译后我得到:

src/UtilOne.ts(6,47): error TS2339: Property 'UtilBase' does not 
exist on type 'typeof utils'
Run Code Online (Sandbox Code Playgroud)

namespaces typescript es6-modules

29
推荐指数
1
解决办法
3万
查看次数

通配符或星号(*)vs命名或选择性导入es6 javascript

只是想知道哪一个是使用导入的最佳方式:

import * as Foo from './foo';

VS:

import { bar, bar2, bar3 } from './foo';

例如,在效率方面,我使用webpack来捆绑所有JavaScript文件.即使我没有在主代码中使用它们,第一个实际上会导入所有内容吗?

我能找到的一些参考文献是:

Airbnb风格指南中,他们建议不要使用通配符,因此总会有默认的导入对象,而这一点.

javascript import wildcard ecmascript-6 es6-modules

29
推荐指数
4
解决办法
2万
查看次数

可以使用'path'的导入路径导入节点的路径模块吗?

我更喜欢使用import x from 'y'语法,但我在网上看到的只是const path = require('path').

有没有办法使用这种语法导入路径模块?

javascript node.js es6-modules

28
推荐指数
4
解决办法
3万
查看次数