使用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 的了解不够,不知道这是否是一个好主意。
要求是:
node_modules应该只包含所选包的生产依赖项package-lock.json。我有一个像这样的导入:
import { foo } from 'bar';
Run Code Online (Sandbox Code Playgroud)
如果foo没有定义,有没有办法让Webpack抛出错误?
请注意,如果这有所不同,我正在使用Babel.
我不完全理解它,但显然不建议使用findDOMNode().
我正在尝试创建拖放组件,但我不确定如何从组件变量访问refs.这是我目前拥有的一个例子:
const cardTarget = {
hover(props, monitor, component) {
...
// Determine rectangle on screen
const hoverBoundingRect = findDOMNode(component).getBoundingClientRect();
...
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
在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) 是否可以使用 gsutil(或其他一些工具)在 Google Cloud Storage 上批量重命名对象?我试图找出一种方法将一堆图像从 *.JPG 重命名为 *.jpg。
如果我有这两个对象
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) 我似乎无法让热重载功能正常工作.每当我做更新时,我都会收到以下错误消息:
获取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) 例如,为标准输入样式,我写了类似的东西:
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)
有没有办法在不改变功能的情况下降低原始输入选择器的特异性?
如果我有一个方法有时会返回一个字符串,有时会返回一个导致字符串的承诺,我如何将它链接到我的 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)
我想总是记录“测试”。
请假动画完成后有没有办法运行功能?或者是我唯一使用低级动画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) reactjs ×2
webpack ×2
atom-editor ×1
css ×1
gsutil ×1
javascript ×1
npm ×1
npm-install ×1
react-dnd ×1
rxjs ×1
typescript ×1