小编Fri*_*igo的帖子

使用 Webpack 将 HTML 内容注入另一个文件

我想在 Webpack 捆绑期间将一些 HTML 从一个文件注入另一个文件。

假设我有一个 index.html 文件,如下所示:

//index.html
<html>
    <head></head>
    <body>
        <p>Hello World</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

和另一个带有一堆图标的文件:

//another.html
<symbol id="a" ...>...</symbol>
<symbol id="b" ...>...</symbol>
<symbol id="c" ...>...</symbol>
Run Code Online (Sandbox Code Playgroud)

然后我希望我的“index.html”文件在运行 webpack 后看起来像这样:

//index.html in bundle
<html>
    <head></head>
    <body>
        <symbol id="a" ...>...</symbol>
        <symbol id="b" ...>...</symbol>
        <symbol id="c" ...>...</symbol>
        <p>Hello World</p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

基本上,我只想将文件中的任何内容包含在我的 index.html 正文中。我已经环顾了整个 webpack 生态系统,但我找不到任何可以做我想要的东西。

我现在拥有的 webpack 配置正在使用html-webpack-plugin

{
    ....
    plugins: [
        new HtmlWebpackPlugin({
            template: "index.html",
            inject: true,
        })
    ],
}
Run Code Online (Sandbox Code Playgroud)

有问题的文件取自我的一个依赖项,因此我无法在那里进行任何更改或手动复制内容,但我知道包含它们的文件夹的路径,所以我希望我可以使用加载程序/plugin 来为我处理这个问题。

问题:是否有一个 webpack 加载器/插件可以做到这一点?

webpack html-webpack-plugin

7
推荐指数
0
解决办法
2652
查看次数

使用:主机选择器vs容器div

我看到它的方式,它可以用作<div>容器的替代品,用于样式化组件.例:

使用容器

@Component({
    template: `
        <div class="container">
            <h1>Some Title</h1>
            <p>Some Content</h1>
        </div>
    `,
    styles: [`
        .container {
            border: 1px solid black;
            display: flex;
        }
    `],
})
Run Code Online (Sandbox Code Playgroud)

使用:主机

@Component({
    template: `
      <h1>Some Title</h1>
      <p>Some Content</h1>
    `,
    styles: [`
        :host {
            border: 1px solid black;
            display: flex;
        }
    `],
})
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,这两个解决了完全相同的问题.并且很少有一个元素和类可以在几乎每个组件中担心.

问题:这:host是针对的吗?如果没有,它的重点是什么,除了在任何地方添加容器之外,为组件提供样式的最佳实践是什么?

css web-component angular

5
推荐指数
1
解决办法
922
查看次数

TypeScript 严格的枚举检查

有没有办法强制严格使用enum?一些例子:

enum AnimalType {
  Cat,
  Dog,
  Lion
}

// Example 1
function doSomethingWithAnimal(animal: AnimalType) {
  switch (animal) {
    case Animal.Cat: // ...
    case Animal.Dog: // ...
    case 99: // This should be a type error
  }
}

// Example 2
someAnimal.animalType = AnimalType.Cat; // This should be fine
someAnimal.animalType = 1; // This should be a type error
someAnimal.animalType = 15; // This should be a type error
Run Code Online (Sandbox Code Playgroud)

基本上,如果我说某个东西有一个enum类型,那么我希望 TypeScript 编译器(或 tslint)确保它被正确使用。对于当前的行为,我并不真正理解枚举的意义,因为它们没有被强制执行。我错过了什么?

enums typescript

4
推荐指数
1
解决办法
692
查看次数