小编tat*_*tsu的帖子

在我的 angular-cli 项目中从 node-sass 切换到 dart sass

在“npm install”期间,我一直在用 node-sass 做各种愚蠢的事情,包括但不限于:

  • GNU c++ 编译一些东西(可能是它本身)
  • 尝试运行python2.7
  • 尝试运行任何其他版本的 python
  • 尝试连接到github

这在企业环境中造成了问题,我必须在 Jenkins 上编译我的项目,其中 NPM 库必须从企业服务器上的 npm 注册表克隆中提取,并且只有该特定项目的严格必需品在 docker 上可用,因此:

  • 没有github
  • 没有蟒蛇
  • 没有 C++

我决定我已经受够了 node-sass 的恶作剧,所以我尝试了建议的“dart-sass”,因为这个概念似乎是完全兼容角度的,旨在解决 node-sass 的大部分问题: https://sass-lang.com/dart-sass

我尝试删除 node-sass 并将 dart-sass 代替:

npm remove node-sass
npm install dart-sass
ng serve
Run Code Online (Sandbox Code Playgroud)

但这会导致:

Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Cannot find module 'node-sass'
Run Code Online (Sandbox Code Playgroud)

对于项目中的每个组件。

为什么它仍在寻找 node-sass?

这是我的 package.json :

{
  "name": "web.ui",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --aot=false --proxy-config proxy.json",
    "build": "ng b …
Run Code Online (Sandbox Code Playgroud)

sass dart node-sass angular

24
推荐指数
2
解决办法
2万
查看次数

模态仅在第二次单击后显示

我正在开发vue2中的1 component = 1文件样式.

我有一个通过Bootstrap-Vue表组件构建的表,我正在使用提供程序向它传递一个项目.

其中一列包含每行的修改按钮.

这些按钮触发bootstrap-modal.

我正在使用V-if来初始化表及其属性.

<b-modal  v-if='toShow' id="modalallergy" @hide="resetModal">
      <h4 class="my-1 py-1" slot="modal-header">Allergie {{ modalDetails._id }}</h4>
      <b-container class="bv-example-row">
            <b-row>
                <b-col>
                  identifiant : {{modalDetails.data.content}}
                </b-col>
                <b-col>
                Catégorie : {{modalDetails.data.content}}
                </b-col>
            </b-row>
            </b-container>
    </b-modal>

    <b-modal id="modalallergy-edit" @hide="resetModal">
      <h4 class="my-1 py-1" slot="modal-header">Edition de l'allergie {{ modalDetails._id }}</h4>
      <pre>{{ modalDetails.data}}</pre>
    </b-modal>
Run Code Online (Sandbox Code Playgroud)

这是我的模态,就在上面我有我的按钮:

<button class="btn btn-xs btn-success" @click.stop="details(row.item,row.index,$event.target)">
        <span class="glyphicon glyphicon-search"></span>
      </button>
Run Code Online (Sandbox Code Playgroud)

和以下<script>methods部分我有我的电话:

details (item, index, button) {
  this.modalDetails.data = item
  this.modalDetails.index = index
  this.modalDetails._id = item.content._id
  this.$root.$emit('bv::show::modal', …
Run Code Online (Sandbox Code Playgroud)

modal-dialog bootstrap-modal bootstrap-4 vue-component vuejs2

10
推荐指数
1
解决办法
1206
查看次数

Angular 5 WebStorm运行配置

我很惊讶地看到Angular还没有在Jet Brain的IDE,WebStorm中输入一个条目,你们运行配置吗?

我想执行: ng serve

但也许有更好的选择?

一个像vue的npm run dev,它会在默认浏览器中的服务地址打开一个页面?

这个页面没有点击运行配置,https: //www.jetbrains.com/help/webstorm/angular.html

更新:

为了澄清我正在谈论像你可以做出反应和vue应用程序的单击运行按钮:

在此输入图像描述

run-configuration webstorm angular

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

angular-i18n Angular 6国际化:如何处理变量

我在这里阅读了整个文档:https://angular.io/guide/i18n

我不能对我应该如何处理这种性质的html标签做出正面或反面:

<div i18n="@@myId" class="title-text">{{currentPage}}</div>
Run Code Online (Sandbox Code Playgroud)

或者像这样:

<div i18n="@@myId" class="title-text" [innerHTML]="currentPage"></div>
Run Code Online (Sandbox Code Playgroud)

它根本没有提到任何变量文本,好像它们只是假设我们将所有名称和文本硬编码到html中.

语言文件应该如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" datatype="plaintext" original="ng2.template">
    <body>
      <trans-unit id="myId" datatype="html">
        <source>Hello</source>
        <target>Bonjour</target>
      </trans-unit>
    </body>
  </file>
</xliff>
Run Code Online (Sandbox Code Playgroud)

我可以做这样的事情来处理var的多种可能性吗?

<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" datatype="plaintext" original="ng2.template">
    <body>
      <trans-unit id="myId" datatype="html">
        <source>Title 1</source>
        <target>Titre 1</target>
        <source>Help 2</source>
        <target>Aide 2</target>
        <source>New 3</source>
        <target>Nouveau 3</target>
      </trans-unit>
    </body>
  </file>
</xliff>
Run Code Online (Sandbox Code Playgroud)

我认为这不会起作用.我该如何处理变量?

更新:

如果我使用他们的语言文件生成工具:

ng xi18n --output-path locale --out-file english.xlf --i18n-locale fr
Run Code Online (Sandbox Code Playgroud)

我明白了: …

angular-i18n angular

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

使用jetbrains IDE(Intellij或Rider)登录GitHub enterprise

没有真正的指南,这是现有的文档:

https://www.jetbrains.com/help/rider/GitHub.html

它已经过时了。

Rider 实际上希望您提供一个令牌:

令牌登录

这似乎不是个人令牌。

我在我的服务器上尝试过,它不起作用。 登录失败

还有一个用于生成令牌的按钮不起作用。

它系统地生成 github 404 页面: github 404

我假设“服务器”字段应该位于

https://github.com/<SERVERNAME>
Run Code Online (Sandbox Code Playgroud)

或者

https://github.com/organizations/<SERVERNAME>
Run Code Online (Sandbox Code Playgroud)

格式。

但我一生都无法弄清楚从哪里获取服务器的令牌。

我再次生成了一个 github 个人用户令牌,但是这个令牌被 github 企业登录拒绝。

就像个人用户设置一样,Github 企业设置有一个“开发者设置”选项卡:

开发者设置

但这个选项卡似乎有不同的用途,您创建一个要在“github应用程序市场”上浏览的“应用程序”,我确实创建了这个,但这是可以访问的操作的完整列表:

行动

这些都不涉及给我一个令牌。

这既不是可以通过暴力在选项中找到的东西,也不是谷歌产生结果的东西。

我需要帮助。

更新:

更多的搜索引导我找到这个文档:https://docs.github.com/en/actions/reference/authentication-in-a-workflow#modifying-the-permissions-for-the-github_token

似乎他们正在谈论的 GITHUB_TOKEN 是我感兴趣的东西。在文档的顶部,信息气泡声称此功能不提供给 Github 免费用户?

这是怎么回事?

对于 GitHub 和 Jet Brain 来说,这将是一次糟糕的沟通。用户如何理解这一点?为什么在直接从具有 SSH 密钥的终端克隆存储库时,Rider 希望强制您使用此付费功能来与 github enterprise 集成?

这是荒谬的。至少通过 SSH 添加带有 github 登录的个人存储库应该是一个可用的功能。

intellij-idea github-api github-enterprise rider

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

Axios和Angular

试图找出如何在Angular cli,基础脚手架中进行axios导入和使用.

我没有找到任何文件.

我发现了这个 https://netbasal.com/angular-2-use-your-own-http-library-b45e51b3525e

他的建议并不适用.Cli在添加任何代码位时中断.

有关如何在Angular中进行基本的后api调用的任何见解?

我得到的最好的是(有角度的原生方法):

import { Component } from '@angular/core';
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

@Injectable()
export class AppComponent{
  title = 'prouuuut';
  posts = [];
  errors = [];
  constructor(private http: Http){
  }

  fetchAll(){
    this.http.get('https://api.github.com/repositories')
      .then(response => {
        this.posts = response.data.entry
      })
      .catch(e => {
        this.errors.push(e)
      })
  }
}
Run Code Online (Sandbox Code Playgroud)

在app.component.ts里面,但我已经有:

在此输入图像描述

rest axios angular

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

单击按钮时动态加载 SCSS 文件

不同的 CSS 文件

如您所见,我为整个项目加载了一个 scss 文件,我想知道是否可以更改单击按钮时加载的 scss 文件。请记住,此 scss 文件适用于根组件,但我要将按钮放在它的孙组件上。

我已经尝试了一些事情,但问题显然是除了通过导入(这是在 /Components/App.jsx 中)之外,没有其他方法可以对 scss 文件进行属性:

import '../scss/app.scss';
//import '../scss/darcula.scss'; for dark theme.
Run Code Online (Sandbox Code Playgroud)

如果我取消注释上述导入的 scss 是 darcula,但我无法动态更改我知道的导入集。

一个可接受的解决方案是在子文件中触发的单独导入,它不会完全替换其他文件,而是仅取代每个重新定义的样式,允许我只更改颜色以获得我想要的这个“夜间模式”按钮。

我不明白为什么不能在 ifs 中隔离 requires 即使我这样做:

turnLightsOnOff() {
    if (this.state.theme) {
        require('../../../scss/app.scss');
        this.setState({
            theme: false,
        });
    } else {
        //require('../../../scss/darcula.scss');
        this.setState({
            theme: true,
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

即使尚未满足 if 的条件,app.css 也已加载

如果我取消注释另一行,则两个 scss 都会一个接一个地加载。

sass dynamic reactjs

6
推荐指数
1
解决办法
5960
查看次数

反应如何动态设置div高度以适应包括滚动在内的整个窗口高度

我正在制作一个React Redux应用。

添加元素时视图变大(移除元素时视图变小),但是我无法让背景正确地跟随。

我试过使用scrollHeight确定它应该有的大小:

https://i.imgur.com/HGHJgub.gifv

这是我的代码:

constructor(props) {
    super(props);
    this.state = {
        heightSet: 0,
    };
    this.updateDimensions = this.updateDimensions.bind(this);
}

componentDidMount() {
    this.updateDimensions();
    window.addEventListener('resize', this.updateDimensions);
}

componentWillUnmount() {
    window.removeEventListener('resize', this.updateDimensions);
}

updateDimensions() {
    this.setState({ heightSet: document.body.scrollHeight });
    console.log(document.body.scrollHeight);
}

render() {
    const divStyle = {
        height: this.state.heightSet + 'px',
    };
    return (
        <div style={divStyle}>
        </div>
    )
}
Run Code Online (Sandbox Code Playgroud)

但是所有这些显然都被抛弃了。我没有采取正确的方法。它还涉及到我的应用程序的另一个问题:它知道要增加视图的高度但不能删除它。有人知道为什么会有这种行为以及如何纠正它吗?

更新:

澄清真正的问题是,当我单击“添加组件”并且滚动高度增加时,此解决方案在var上没有任何更新。总而言之,上述解决方案完全是垃圾。我喜欢这个主意:为橡皮筋滚动过程中可见的多余页面部分设置颜色 (是的,这很hack,但是我觉得很好)

来自Shishir Arora和tksb

但它似乎无法在现代浏览器上运行(至少不是Chrome浏览器,而最新的Chrome浏览器是我的应用程序的目标编号1)。

height reactjs redux react-redux

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

我们可以在自定义函数中访问传递给组件的 props

这可能听起来很傻,但我找不到这方面的指南。

我想要做的是更改update父级中命名的变量。

并在父 DOM 中执行以下操作:

 <Child update={this.state.update} />
Run Code Online (Sandbox Code Playgroud)

在孩子中,而不是在渲染和返回(with const {update} = this.props)之间拾取它并且只能在 DOM 中使用它,我想在构造函数和渲染之间的部分拾取它并在那里的函数中使用它.

reactjs

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

ReactJS条件组件显示

我正在尝试使用切换器按钮将两张不同的卡放在一起: 工作切换器按钮

正如你在这里看到的,这是我想要的结果,而且我已经让控制台输出了切换器组件的切换器状态.

/* ************************************* */
/* ********       IMPORTS       ******** */
/* ************************************* */
import React, { Component } from 'react';
import { Card, CardBlock, CardTitle, Button, InputGroup, Input } from 'reactstrap';
import ProviderInfos from '../ProviderInfos/ProviderInfos';
import Switcher from '../Switcher/Switcher';
import SearchByType from '../CardCollection/SearchByType';
import SearchExtended from '../CardCollection/SearchExtended';


/* ************************************* */
/* ********      VARIABLES      ******** */
/* ************************************* */

const status = {
    newState: false,
    callBack: () => {},
};

/* ************************************* */
/* ********      COMPONENT      ******** */
/* ************************************* */ …
Run Code Online (Sandbox Code Playgroud)

reactjs

3
推荐指数
1
解决办法
824
查看次数