Error: Can't resolve '/path/to/image.jpg' in '/app/path/to/module/module'
问题在于用于 css 背景的图像,其中文件未存储在存储库中,并且在构建时不可用。(为什么会这样,以后再说了。)
在我的 scss 文件中:
background-image: url(/path/to/image.jpg);
Run Code Online (Sandbox Code Playgroud)
在 Webpack-4 中,它保持原样,并且可以正常工作。
Webpack-5 尝试处理图像,但失败并出现上述错误。
在路径中添加引号...
background-image: url("/path/to/image.jpg");
Run Code Online (Sandbox Code Playgroud)
我尝试过 Webpacks 魔法评论......
/* webpackIgnore: true */
background-image: url(/path/to/image.jpg)
Run Code Online (Sandbox Code Playgroud)
...但它不起作用(也许他们被剥夺得太早了? - 这似乎是这种情况,我的create-react-app 示例中的开发构建证明了这一点)
我还尝试了这里的一些边缘情况技巧。但我认为这来得太晚了,因为 Webpack 已经假设该文件存在。
有效的方法是包含资产的绝对路径:
background-image: url(https://www.example.com/path/to/image.jpg);
Run Code Online (Sandbox Code Playgroud)
但这也带来了一系列问题。
Webpack 魔术注释适用于开发构建,但不适用于生产构建。
~/webpack-test$ npm run build
> webpack-test@0.1.0 build
> node scripts/build.js
Creating an optimized production build...
Failed to compile.
Module not found: Error: Can't …Run Code Online (Sandbox Code Playgroud) 我想提供仅在内容未被转换时才会出现的默认内容.
例如,这是我的组件模板:
<article>
<header>
<ng-content select="[header]"></ng-content>
</header>
<section>
<ng-content></ng-content>
</section>
</article>
Run Code Online (Sandbox Code Playgroud)
我可以像这样使用它:
<my-component>
<h1 header>This is my header</h1>
<p>This is my content</p>
</my-component>
Run Code Online (Sandbox Code Playgroud)
现在如果我想提供一个默认标题怎么办?可能吗; 没有杂技,比如检查内容ngAfterContentInit?
如何在不将文件保存到磁盘的情况下获取文件句柄的mime类型?
我的意思是一个未保存到磁盘的文件,而是:我从存档中提取它并计划将其传输到另一个脚本.
假设我提取了这样的文件:
tar -xOzf images.tar.gz images/logo.jpg | myscript
Run Code Online (Sandbox Code Playgroud)
现在在myscript中我想在进一步处理之前检查文件的mime类型.怎么会这样呢?