我通过 ES6 构建了一个 expressJs 应用程序,但出现以下错误:
(node:4132) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/run_main.js:54
internalBinding('errors').triggerUncaughtException(
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'E:\wamp64\www\myDemos\nodeJs\expressJsExample\config\app' imported from E:\wamp64\www\myDemos\nodeJs\expressJsExample\server.mjs
?[90m at finalizeResolution (internal/modules/esm/resolve.js:255:11)?[39m
?[90m at moduleResolve (internal/modules/esm/resolve.js:603:10)?[39m
?[90m at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:644:13)?[39m
?[90m at Loader.resolve (internal/modules/esm/loader.js:94:40)?[39m
?[90m at Loader.getModuleJob (internal/modules/esm/loader.js:240:28)?[39m
?[90m at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:42:40)?[39m
?[90m at link (internal/modules/esm/module_job.js:41:36)?[39m {
code: ?[32m'ERR_MODULE_NOT_FOUND'?[39m
}
[nodemon] app crashed - waiting for file changes before starting...
Run Code Online (Sandbox Code Playgroud)
如果我使用import app from './config/app.js';然后工作但如果我使用import app from './config/app';然后返回上述错误。 …
我安装了chrome beta - 版本60.0.3112.24(官方版本)测试版(64位)
在chrome:// flags/I启用'实验Web平台功能'(参见https://jakearchibald.com/2017/es-modules-in-browsers)
然后我尝试了:
<script type="module" src='bla/src/index.js'></script>
Run Code Online (Sandbox Code Playgroud)
其中index.js有一行如下:
export { default as drawImage } from './drawImage';
Run Code Online (Sandbox Code Playgroud)
这是指现有的文件drawImage.js
我在控制台得到的是错误
GET http://localhost/bla/src/drawImage
Run Code Online (Sandbox Code Playgroud)
如果我更改导出并添加".js"扩展名,它可以正常工作.
这是一个chrome bug还是ES6在这种情况下要求扩展?
webpack也可以在没有扩展的情况下构建它!