0

尝试在 Windows 上本地运行新的 Eleventy 网站。相同的代码库适用于其他人的计算机,但由于“缺少”CSS 文件,我无法启动它。

[4] `TemplateWriterWriteError` was thrown
[4] > (./src/_includes/layouts/about.html)
[4]   Error: template not found: css/critical.css

虽然奇怪的是,我可以在我的输出 dist 文件夹中看到 css/critical.css 文件。

不太清楚问题从哪里开始,但我在 VSCode 中注意到的第一件事是requires(...'gulp-clean-css')有三个点(通过“...”显示在该代码中),当悬停时表明没有找到模块的声明,以及包的索引文件隐含地具有“任何”类型。

这种“可能”具有潜力,因为 gulp-clean-css 包用于生成据称丢失的 critical.css 文件。

一点阅读表明这是一个易于修复的 TypeScript 问题。

解决方案:您所要做的就是编辑您的 TypeScript 配置文件 (tsconfig.json) 并添加一个新的键值对:"noImplicitAny": false

来源: https ://medium.com/@amandeepkochhar/typescript-error-could-not-find-a-declaration-file-for-module-xyz-dfbe6e45c2bd )

但是没有关于将 tsconfig 文件放在哪里的详细信息。它在 Eleventy 根文件夹中吗?还是在包裹里?

另外,那条线还有什么意思?例如。我找到了这个示例文件,可能就足够了:

{
  "compilerOptions": {
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "dist"
  },
  "lib": ["es2015"]
}

当然,我可能在这里追随红鲱鱼。但是,如果有人对如何解决这个问题有任何建议,非常感谢!

4

1 回答 1

0

打字稿原来是一个红鲱鱼。出于某种原因,某些 gulp 插件无法在我的 Windows 10 设置中正常工作(例如 gulp-clean-css 和 gulp-imagemin)

虽然花了一些时间,但对我来说最好的解决方案是转到 WSL。即安装Linux子系统,在Linux上开发。然后我发现插件工作正常。

如果您不熟悉 WSL 安装,这里可能会有点长。但它确实需要对你正在做的事情有一个很好的了解,所以也许先查看一些 WSL 信息。希望下面的链接可以工作一段时间,因为它们是我关注的,所以我会发布它们以防它们帮助别人。

视频:https ://www.youtube.com/watch?v=_fntjriRe48

帖子:https ://fatsackfails.com/posts/eleventy-windows/

于 2020-08-18T11:41:43.803 回答