问题描述
Stackblitz.com 是创建小型实验项目的绝佳资源。然而,今天我遇到了一个问题。
我使用以下文件夹结构创建了一个 stackblitz 普通 ecmascript 项目
└── root
├── Resource
│ ├── app.js
│ ├── daylight.js
│ └── localTexts.js
├── index.js
└── index.html
现在,当我尝试从 localTexts.js
内的 ./Resources/app.js
导入时,应用程序崩溃并显示以下消息:
未定义模块未声明为 System.registerDynamic 依赖项 https://js-state-machine.stackblitz.io/~/Resource/app.js
在 another stackblitz project 中,此设置似乎运行良好。我尝试了几种解决方案都无济于事。也许我遇到了我的(许多)盲点之一或其他什么。
我无法在 SO 的代码段编辑器的限制范围内创建示例代码段,但这是代码的摘录
// ./Resource/localTexts.js
export default {
dimmed: `dimmed`,remove: `remove`,add: `add`,...
};
// ./Resource/app.js
import txt from `./localTexts.js`;
// ^ solved! Don't use template literals here!
export default (() => {
const appText = txt; // error occurs here
...
return { ... }
})();
这是app.js
-file。有哪位高人能指教一下吗?
解决方法
问题很简单:我不小心使用了 template literal
作为导入路径(所以:import something from `./somefile.js`
)。那只能是 String literal
。
现在,错误消息没有提到任何一个,显然 linter @Stackblitz 没有检测到它。嗯,问题解决了。感谢您的关注,很抱歉打扰您。