小编Cen*_*asa的帖子

使用 scss 导入 Google 字体:MIME 类型冲突

我正在构建一个 Angular 应用程序,我使用 scss 进行样式设置并想要导入谷歌字体。

我有一个fonts.scss保存与字体相关的所有内容的地方。我像这样导入谷歌字体:

字体.scss

 @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;500;700&display=swap');
Run Code Online (Sandbox Code Playgroud)

因为有不同的文件,我需要导入到不同的组件,我有一个名为 的文件,imports.scss其中包含字体和颜色变量。

导入.scss

@import 'src/styles/imports/fonts';
@import 'src/styles/imports/colors';
Run Code Online (Sandbox Code Playgroud)

现在,我的ng 组件可以通过导入使用字体和变量:

@import 'src/styles/imports';
Run Code Online (Sandbox Code Playgroud)

即使变量和字体正常工作,我在 Google Chrome 中收到以下错误:

platform-browser.js:789 GET https://fonts.googleapis.com/css2?family=Poppins:wght@300;400[_ngcontent-dsi-c57];700&display=swap net::ERR_ABORTED 400
Run Code Online (Sandbox Code Playgroud)

Firefox中我收到此错误:

The resource from "(link to google fonts)" was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff).
Run Code Online (Sandbox Code Playgroud)

有办法解决这个问题吗?

css fonts sass google-fonts angular

8
推荐指数
1
解决办法
2502
查看次数

运行 docker 容器时出错“NoClassDefFoundError”

我正在尝试 dockerize 一个使用 Maven 构建的简单 Spring Boot 应用程序。

Dockerfile:

FROM openjdk:latest
COPY target/backend-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
Run Code Online (Sandbox Code Playgroud)

当我在没有容器 ( ) 的情况下运行 .jar 时java -jar target/backend-1.0-SNAPSHOT.jar,一切正常并且应用程序正在运行。

现在我用以下命令创建容器docker build -t company/backend .

但是当我尝试运行 docker 容器时,docker run -p 8080:8080 company/backend出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
        at de.company.backend.Application.main(Application.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 1 more
Run Code Online (Sandbox Code Playgroud)

看起来 docker 没有找到主类,即使它是在我的 pom.xml 中定义的:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <mainClass>de.elbdev.backend.Application</mainClass>
</properties>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <phase>install</phase>
                    <goals> …
Run Code Online (Sandbox Code Playgroud)

java maven docker spring-boot

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

未捕获的错误:WCT 需要在 web-components-tester 中出现 Mocha 错误

我想设置web-component-tester来测试我的 web 组件。我通过 npm (devDependency) 安装了它并创建了以下脚本:

包.json:

  "scripts": {
    "wcttest": "./node_modules/.bin/wct --npm src/app/modules/essen/components/essen-list/test/wct-test.html"
  },
Run Code Online (Sandbox Code Playgroud)

正如脚本所述,我在那里有 .html 文件。但是现在,如果我运行脚本npm run wcttest,则会打开以下路线:

http://localhost:8081/components/wc-frontend/generated-index.html?cli_browser_id=0wc-frontend项目文件夹的根名称在哪里。但我不明白,为什么它components首先打开了路径。

测试打开了我安装的所有浏览器,但只有一个白页。如果我打开控制台有以下脚本:

<script>
WCT.loadSuites(["src/app/modules/essen/components/essen-list/test/wct-test.html"]);
<script>
Run Code Online (Sandbox Code Playgroud)

这里的路径看起来是正确的。

wct-test.html

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <script src="../../../../../../../node_modules/mocha/mocha.js</script>
    <script src="../../../../../../../node_modules/wct-mocha/wct- 
    mocha.js"></script>
    <script src="../../../../../../../node_modules/web-component-tester/browser.js"></script>
    <script type="module" src="../essen-list.component.js"></script>
</head>
<body>
<mp-essen-list></mp-essen-list>

<script>

    suite('suite', function () {
        const list = document.body.querySelector('mp-essen-list');

        test('test', function () {
            list.setAttribute('value', 100);
            assert.equal(list.value, 100);
            //console.log('test');
            //assert.equal(list.shadowRoot.querySelector('#speisekarte').style.left, 50);
        });
    });

</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑: …

javascript web-component npm web-component-tester

5
推荐指数
0
解决办法
69
查看次数

Nuxt/TypeScript:无法访问此 - TS2339:类型上不存在属性“XXX”

我在使用 Nuxt.js 和 TypeScript 时遇到问题。在我的项目中,我使用 axios 或 nuxt-i18n 等依赖项。在这个例子中,我使用的是 Axios。我像nuxt/axios文档中那样配置它

nuxt.config.js

export default {
  modules: ['@nuxtjs/axios']
  axios: {},
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compilerOptions": {
    "types": [
      "@nuxt/types",
      "@nuxtjs/axios"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在我的 Vuex 商店中使用 $axios,如下所示:

{
  actions: {
    async getIP ({ commit }) {
      const ip = await this.$axios.$get('http://icanhazip.com')
      commit('SET_IP', ip)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但现在我收到错误:

`TS2339: Property '$axios' does not exist on type '{ getIP(state: any, { commit }: { commit: any; }): Promise ; }'.`
Run Code Online (Sandbox Code Playgroud)

编辑:评论说,使用箭头函数应该有所帮助。我尝试过这样的:

export …
Run Code Online (Sandbox Code Playgroud)

typescript vue.js axios nuxt.js

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

Docker:客户端未连接到 Eureka 服务器

我想为我的客户端创建一个容器,为我的服务器创建一个容器并连接它们。

客户:

server.port=8084
spring.application.name=articlemicroservice

#already tried localhost & hostIp 
eureka.client.serviceUrl.defaultZone=http://discovery:8761/eureka

eureka.client.fetchRegristry=true
eureka.instance.preferIpAddress=true

spring.h2.console.enabled=true
spring.datasource.platform=h2
spring.datasource.url=jdbc:h2:mem:shop
Run Code Online (Sandbox Code Playgroud)

服务器:

server.port=8761
spring.application.name=eureka-server

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
# eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
eureka.instance.lease-expiration-duration-in-seconds: 2  
Run Code Online (Sandbox Code Playgroud)

我使用 docker-maven-plugin 创建了两个容器。dockerfile 看起来像这样:

FROM java
ADD /articlemicroservice.jar //
ENTRYPOINT ["java", "-jar", "/articlemicroservice.jar"]
Run Code Online (Sandbox Code Playgroud)

启动我使用的容器

docker run -it -p 8761:8761 eurekaserver
docker run -it -p 8084:8084 articlemicroservice
Run Code Online (Sandbox Code Playgroud)

当我启动 Cient 时,我只是得到:“com.netflix.discovery.shared.transport.TransportException:无法在任何已知服务器上执行请求”并且

 "2019-03-15 17:54:51.439  WARN 1 --- [nfoReplicator-0] c.n.discovery.InstanceInfoReplicator     : There was a problem with the instance info replicator"
Run Code Online (Sandbox Code Playgroud)

我是否忘记了属性中的某些内容?

编辑:这是 docker-maven-plugin 的配置:

    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.2.0</version>
        <configuration> …
Run Code Online (Sandbox Code Playgroud)

java spring maven docker netflix-eureka

2
推荐指数
1
解决办法
4224
查看次数