Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Jul 13, 2020. It is now read-only.
This repository was archived by the owner on Jul 13, 2020. It is now read-only.

require is not defined #7

Copy link
Copy link
@shellscape

Description

@shellscape
Issue body actions

Given this snippet:

import bodyParser from 'koa-bodyparser';
import Koa from 'koa';

const chalk = require('chalk');

the result when trying to load this module is:

const chalk = require('chalk');
              ^
require is not defined

I understand from this issue ModuleLoader/es-module-loader#427 that the loader has made the assumption that the user only wants ES6 module support and not interoperability with require for CommonJS modules.

While that is a perfectly good and reasonable argument for the es-module-loader module, the node-esml binary would imply by README description and name that there is a measure of interoperability with Node's current and default loader mechanisms. This would follow use of babel in node server-side code in which we're able to use require within ES6 modules.

The 'sync' nature of require can be duplicated using async/await patterns on the dynamic import, however that can only be used on node > 7 with harmony flags, or node 7.6 - both of which are not yet options for a large chunk of developers due to restrictions in the workplace.

I'd like to at the least point out this limitation and the perception that it may be interpreted as a bug by folks not intimately familiar with loaders and/or es-module-loader. And I'd like to propose the interoperability with default node require support as a new feature.

Or at the least, an updated README with a solution to provide support for require. If I'm missing something where require-like capabilities exist, such as the ability to load JSON files as objects, then please do consider adding those to the README, as I haven't found a suitable workaround as simplistic as requiring the file.

Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.