我有一个a
这样的对象:
const a = {
user: {
…
groups: […]
…
}
}
Run Code Online (Sandbox Code Playgroud)
因此,有更多的属性 a.user
我想只改变a.user.groups
价值.如果我这样做:
const b = Object.assign({}, a, {
user: {
groups: {}
}
});
Run Code Online (Sandbox Code Playgroud)
b
没有任何其他财产,除了b.user.groups
,所有其他财产都被删除.是否有任何ES6方式只能更改嵌套属性,而不会丢失所有其他属性Object.assign
?
是否可以在不使用esm
或不使用 Jest 的情况下使用 Jest 测试 ES6 模块babel
?由于node v13
本机支持 es6 已经尝试过:
//package.json
{
…
"type": "module"
…
}
//__tests__/a.js
import Foo from '../src/Foo.js';
$ npx jest
Jest encountered an unexpected token
…
Details:
/home/node/xxx/__tests__/a.js:1
import Foo from '../src/Foo.js';
^^^^^^
SyntaxError: Cannot use import statement outside a module
Run Code Online (Sandbox Code Playgroud)
当 babel 添加一个转译器时,它可以工作,但是 es6 模块也可以在本地使用吗?
//webpack.config.js -- shortened for convenience
const
ExtractTextPlugin = require("extract-text-webpack-plugin"),
extractSass = new ExtractTextPlugin({
filename: "Css/[name].css",
allChunks: true
}),
//…
config: {
module: {
rules: [
//…
{
test: /\.scss$/,
use: extractSass.extract([ 'css-loader', 'sass-loader' ])
}
//…
]
},
plugins: [
extractSass
]
}
module.exports = config;
Run Code Online (Sandbox Code Playgroud)
使用时:
0% compiling(node:333) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
(node:333) DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead
77% module and chunk tree optimization unnamed compat plugin/xxx/node_modules/webpack/lib/Chunk.js:460 …
Run Code Online (Sandbox Code Playgroud) 我对Sass很安静...我想用百分比值创建一些css,如:
width : 13%;
Run Code Online (Sandbox Code Playgroud)
该值是sass数字操作的结果.写这个
width : $main-width + "%"
Run Code Online (Sandbox Code Playgroud)
scss代码生成这个:
width : "13%";
Run Code Online (Sandbox Code Playgroud)
css,实际上什么不起作用,因为它应该是:
width : 13%;
Run Code Online (Sandbox Code Playgroud)
写作
width : $main-width %;
Run Code Online (Sandbox Code Playgroud)
结果是
width : 13 "%"
Run Code Online (Sandbox Code Playgroud)
什么也导致了非工作的CSS规则.有没有办法让Sass打印13%平原,没有引号?
是否存在可以对路径执行布尔运算的Javascript库(贝塞尔曲线)?
我知道Paper.js和Raphael.js,但现在都无法执行这些操作.
我使用的是node/npmworkspaces
的功能,布局是这样的:
.\n+-- package.json\n`-- packages\n `-- p1\n `-- package.json\n `-- p2\n `-- package.json\n
Run Code Online (Sandbox Code Playgroud)\n./package.json\n\n{\n \xe2\x80\xa6\n "workspaces": [\n "./packages/*"\n ],\n \xe2\x80\xa6\n "dependcies": { \xe2\x80\xa6 }\n \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\nnpm install
一切都进展顺利。但现在我想将包添加p1
为 package 的依赖项p2
。但我该怎么做呢?我天真地尝试过:
./packages/p2/package.json\n\n{\n \xe2\x80\xa6\n "dependencies": {\n "p1": "*"\n }\n \xe2\x80\xa6\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n但这会在安装时产生错误,告诉我p1
找不到注册表。
我创建了一个Symfony命令来将我的应用程序重置为初始状态.要从cli运行该命令,我需要输入:
php bin/console app:reset
Run Code Online (Sandbox Code Playgroud)
我想在所有单元测试之前运行该命令一次.我可以设法在每次测试之前完成,并且肯定在所有课程之前.因此我使用了那段代码:
public function setUp()
{
$kernel = new \AppKernel('test', true);
$kernel->boot();
$app = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel);
$app->setAutoExit(false);
$app->run(new ArrayInput([
'command' => 'app:reset', ['-q']
]), new NullOutput());
}
Run Code Online (Sandbox Code Playgroud)
如上所述,这在每次测试之前都很好用,并且setUpBeforeClass()
我可以在每个类之前使用它,但是在所有测试之前就足够了,因为该命令需要一些时间才能运行.
我买了一本关于计算几何的好书.在这里和那里阅读时,我经常偶然发现使用这种特殊的二叉搜索树.这些树是平衡的,应该只在叶节点中存储数据,而内部节点应该只存储值以引导搜索到叶子.
下图显示了此树的示例(其中叶子是矩形,内部节点是圆圈).
我有两个问题:
不在内部节点中存储数据有什么好处?
出于学习的目的,我想实现这样一棵树.因此,我认为使用AVL树作为基础可能是一个好主意,但这是一个好主意吗?
任何有用的资源都非常受欢迎.
有一个很好的复杂几何javascript库,如:凸包,多边形交叉(带孔的多边形),多边形分解和多边形合并?
我非常需要多边形几何,但如果有更多的功能会很好......
问候...
使用这样的动态导入:
\nconst i = import('./path/to/module.js');\n
Run Code Online (Sandbox Code Playgroud)\n为该模块生成一个 Promise。假如说./path/to/module.js
看起来像这样:
export function foo () {}\nexport function bar () {}\nexport default function () {}\n
Run Code Online (Sandbox Code Playgroud)\n生成的对象将具有这样的形状:
\n{\n foo: \xe2\x80\xa6\n bar: \xe2\x80\xa6\n default: \xe2\x80\xa6\n}\n
Run Code Online (Sandbox Code Playgroud)\n现在我需要弄清楚给定的对象是否是这样的模块,或者任何其他模块。那么:是否有任何测试来确定给定对象是否是通过动态导入获得的 es6 模块?
\njavascript ×4
ecmascript-6 ×3
node.js ×2
2d ×1
bezier ×1
es6-modules ×1
geometry ×1
html5-canvas ×1
jestjs ×1
npm ×1
phpunit ×1
predicate ×1
sass ×1
svg ×1
symfony ×1
webpack ×1