小编jos*_*unt的帖子

使用 npm 工作区时如何安装单个包的依赖项?

使用npm 工作区我有一个像这样的文件夹结构

+-- package.json
+-- package-lock.json
+-- client
|   `-- package.json
+-- shared
|   `-- package.json
`-- server
    `-- package.json
Run Code Online (Sandbox Code Playgroud)

通常,当为 Nodejs 应用程序创建生产版本时,我会运行npm ci --only=production然后复制node_modules到构建工件中。我不确定在使用工作区时如何做类似的事情。

如果我运行npm ci --only=production --workspace server它会将依赖项拆分为./node_modules./server/node_modules。也许我应该复制(合并?)两者node_modules到构建工件中?

另一种选择可能是将./package-lock.json和复制./server/package.json到一个新目录中并运行npm ci --only=production. 它似乎确实有效,但我对 npm 的了解不够,不知道这是否是一个好主意。

要求是:

  1. node_modules应该只包含所选包的生产依赖项
  2. 依赖版本应由 确定package-lock.json

npm npm-install npm-workspaces

22
推荐指数
1
解决办法
8702
查看次数

Webpack:丢失成员导入时抛出错误

我有一个像这样的导入:

import { foo } from 'bar';
Run Code Online (Sandbox Code Playgroud)

如果foo没有定义,有没有办法让Webpack抛出错误?

请注意,如果这有所不同,我正在使用Babel.

webpack

17
推荐指数
1
解决办法
1607
查看次数

React DnD:避免使用findDOMNode

我不完全理解它,但显然不建议使用findDOMNode().

我正在尝试创建拖放组件,但我不确定如何从组件变量访问refs.这是我目前拥有的一个例子:

const cardTarget = {
    hover(props, monitor, component) {
        ...
        // Determine rectangle on screen
        const hoverBoundingRect = findDOMNode(component).getBoundingClientRect();
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

资源

编辑

它可能是由我的组件既是拖放源和目标引起的,因为我可以让它在这个例子中工作但不是这个.

reactjs react-dnd

14
推荐指数
1
解决办法
7301
查看次数

原子编辑器:将选择折叠到单行上

在Atom中有一种方法可以在新线上折叠整个选择吗?我正在尝试制作一个包,让我选择多行代码并折叠它们.我的标记看起来像这样:

/* Text Colors */

.text-red {
    color: red;
}

.text-green {
    color: green;
}

.text-blue {
    color: blue;
}

/* Typography */

h1 {
    font-size: 30px;
}
Run Code Online (Sandbox Code Playgroud)

然后当我折叠它时,它看起来像这样:

/* Text Colors */

[...]

/* Typography */

h1 {
    font-size: 30px;
}
Run Code Online (Sandbox Code Playgroud)

这样我可以同时查看代码中的部分外观.我尝试过使用foldSelectedLines但不幸的是最终会像这样折叠它:

/* Text Colors */

.text-red {[...]

/* Typography */

h1 {
    font-size: 30px;
}
Run Code Online (Sandbox Code Playgroud)

atom-editor

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

批量重命名 Google Cloud Storage 上的对象

是否可以使用 gsutil(或其他一些工具)在 Google Cloud Storage 上批量重命名对象?我试图找出一种方法将一堆图像从 *.JPG 重命名为 *.jpg。

google-app-engine google-cloud-storage gsutil

8
推荐指数
2
解决办法
6430
查看次数

打字稿:如何键入休息对象解构

如果我有这两个对象

interface Input {
    one?: string;
    two?: string;
    c?: string
}

interface Data {
    one?: string;
    a?: string;
    b?: string;
    c?: string
}
Run Code Online (Sandbox Code Playgroud)

目前我必须做类似的事情

const { one, two, ...restOfData } = input;
const data: Data = {...restOfData};
Run Code Online (Sandbox Code Playgroud)

可以...restOfData直接打字吗?

我希望能够做到这一点

const { one, two, ...data } = input;
data.one = 'test' + one;
data.a = one;
Run Code Online (Sandbox Code Playgroud)

destructuring typescript

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

Webpack热重装通过gulp,publicPath导致问题

我似乎无法让热重载功能正常工作.每当我做更新时,我都会收到以下错误消息:

获取http:// localhost:9090/cd0492f7657672ef15e4.hot-update.json 404(未找到)
[HMR]无法应用更新.需要做一个完整的重装!
[HMR](可能是因为重启了webpack-dev-server)

我敢肯定,这是造成publicPath: '/js/',gulpfile.js,当我去http://localhost:9090/cd0492f7657672ef15e4.hot-update.json,我收到了404,但是当我去http://localhost:9090/js/cd0492f7657672ef15e4.hot-update.json我可以找到该文件.

但是publicPath: '/js/'需要app.js这样我不知道如何解决它,任何想法?

webpack.config.js

var webpack = require('webpack');
module.exports = {
    cache: true,
    entry: ['webpack/hot/dev-server', './resources/assets/app.js'],
    output: {
        path: __dirname + '/public/js',
        publicPath: '/js/',
        filename: "scripts.js"
    },
    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/,
                loader: 'babel'
            }
        ]
    }
};
Run Code Online (Sandbox Code Playgroud)

gulpfile.js

...
var webpackConfig = require('./webpack.config.js');
...
gulp.task('webpack-dev-server', function(callback) {
    // modify some webpack config options
    var myConfig …
Run Code Online (Sandbox Code Playgroud)

webpack webpack-dev-server

6
推荐指数
0
解决办法
1811
查看次数

如何覆盖具有许多否定的选择器(:not)?

例如,为标准输入样式,我写了类似的东西:

input:not([type="checkbox"]):not([type="radio"]) {
    background-color: blue;
}
Run Code Online (Sandbox Code Playgroud)

然而,这会增加特异性,所以如果我想使用类来覆盖它,我必须做类似的事情:

.red.red.red {
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在不改变功能的情况下降低原始输入选择器的特异性?

css css-selectors css-specificity

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

RXJS:条件映射或合并映射

如果我有一个方法有时会返回一个字符串,有时会返回一个导致字符串的承诺,我如何将它链接到我的 observable 中?

例子

function doSomething() {
    if (Math.random() < 0.5) {
        return 'test';
    }

    return new Promise(resolve => resolve('test'));
}

const example = of(undefined).pipe(
    mergeMap(() => doSomething())
);

const subscribe = example.subscribe(val => console.log(val));
Run Code Online (Sandbox Code Playgroud)

我想总是记录“测试”。

rxjs

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

React:CSSTransitionGroup离开后的回调

请假动画完成后有没有办法运行功能?或者是我唯一使用低级动画API的替代方案?如果是这种情况,我认为我必须自己实现所有过渡功能(transitionend,reflows等)?

JS

var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup;

var SignalContent = React.createClass({
    render: function() {
        return (
            <div className='signal'>
                <p className='signal-message'>{this.props.message}</p>
                <button onClick={this.props.onClose} aria-label='Close'><span className='material-icons'>close</span></button>
            </div>
        );
    }
});

var Signal = React.createClass({
    handleClose: function() {
        this.setState({active: false})
        // this.props.onClose();
    },
    getInitialState: function() {
        return {
            active: true
        };
    },
    render: function() {
        return (
            <ReactCSSTransitionGroup transitionName='signal-transition' transitionAppear={true} component='div'>
                {this.state.active ? <SignalContent message={this.props.message} onClose={this.handleClose} /> : ''}
            </ReactCSSTransitionGroup>
        );
    }
});

var container = document.getElementById('container');
function handleClose() {
    React.unmountComponentAtNode(container);
} …
Run Code Online (Sandbox Code Playgroud)

javascript css-animations reactjs

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