在这里npm有点新鲜..
我想在我的项目中使用jQuery-ui.我习惯在我的HTML中使用脚本标记导入jQuery和jQuery-ui,但我想使用npm install导入它们.
我让jQuery一起工作.
import $ from 'jquery'
Run Code Online (Sandbox Code Playgroud)
但每当我尝试导入时,jquery-ui我都会收到此错误:
未捕获的ReferenceError:未定义jQuery
关于这个错误有很多帖子.但是所有这些似乎都围绕着人们,只是将jQuery和jQuery-ui的脚本标签放错了.
我找不到关于如何使用npm install安装jQuery和jQuery-ui的任何内容?
有任何想法吗?
我有一个来自另一个 Observable 的简单 Observable 管道,我想测试它。
const loginState$ = messageBusObservables.loginState$.pipe(
startWith({ isLoggedIn: false })
pluck('isLoggedIn'),
distinctUntilChanged()
)
Run Code Online (Sandbox Code Playgroud)
messageBusObservables 是一个可观察对象。其中 loginState$ 是一个 Observable。
在我的测试中,我认为我可以轻松地像这样模拟“./messageBus”模块:(模块的导入方式无关紧要,但首选导入)
import { of } from 'rxjs'
import './messageBus'
jest.mock('./messageBus', () => ({
loginState$: of({ isLoggedIn: true }),
}))
Run Code Online (Sandbox Code Playgroud)
但是,Jest 抛出错误:
babel-plugin-jest-hoist:模块工厂
jest.mock()不允许引用任何范围外的变量。无效的变量访问: of
我试过,把它放在一个jest.fn()我试过提取of({ isLoggedIn: true })到一个变量中。但是我总是从玩笑中得到同样的错误。
那么如何使用 Jest 模拟输入到我的 Observable 中呢?我会在使用 .merge、.zip 等的其他 observable 中遇到同样的问题。
它需要是一个真正的 observable,是我其他 observable 的输入。我只是想用类似的东西来模拟值,of()而不是模拟一个对象,上面有一个方法,返回一个带有 .pipe 方法等的对象(我不想模拟 Observable 的功能)。我想通过在我的单元测试中设置一个值来传递一个真正的 observable。
我还需要这些模拟是动态的。因此,来自 1 个断言的模拟可能与下一个断言中的模拟不同。(用 beforeEach 之类的东西清除它们)
编辑: …
我目前正在使用 Storybook (v.5.3.18) 和 TypeScript,并已成功按照说明设置我的 TypeScript webpack.config.js。这很好用。
但是,我似乎找不到任何方法可以成功地将 babel 插件添加到配置中。我的最新尝试如下,但不起作用。
module.exports = (baseConfig, env, config) => {
config.module.rules.push({
test: /\.(ts|tsx)$/,
use: [
{
loader: require.resolve('awesome-typescript-loader'),
options: {
exclude: /node_modules/,
presets: [['react-app', { flow: false, typescript: true }]],
configFileName: './.storybook/tsconfig.json',
babelOptions: {
babelrc: false,
presets: [],
plugins: ['emotion'],
},
},
},
{
loader: require.resolve('react-docgen-typescript-loader'),
options: {},
},
],
});
config.resolve.extensions.push('.ts', '.tsx');
return config;
};
Run Code Online (Sandbox Code Playgroud)
如果我使用此配置启动 Storybook,我会继续看到消息“组件选择器只能与 babel-plugin-emotion 结合使用。”,这意味着 Storybook 没有选择 Emotion babel 插件。
我没有使用 CRA,只是使用普通的 React 和 Typescript。
这是我的 tsconfig:
{ …Run Code Online (Sandbox Code Playgroud) VSCode linting 似乎不尊重我在 tsconfig.json 文件中定义的路径。
从 tsconfig.json 中定义的“别名”导入任何内容时,出现以下错误。
tsconfig.json:
{
"compilerOptions": {
"outDir": "./dist/",
"module": "esNext",
"strictNullChecks": true,
"moduleResolution": "node",
"esModuleInterop": true,
"experimentalDecorators": true,
"allowJs": true,
"jsx": "preserve",
"skipLibCheck": true,
"noUnusedParameters": true,
"noUnusedLocals": true,
"noImplicitAny": true,
"noImplicitThis": true,
"declaration": true,
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"target": "es5",
"lib": ["es5", "es6", "es7", "es2017", "dom"],
"types": ["react", "jest", "node"],
"baseUrl": ".",
"paths": {
"~*": ["./src/*"],
"common/*": ["src/common/*"],
"test/*": ["test/*"],
"test-utils": ["test/test-utils.tsx"],
"static/*": ["static/*"],
"storybook/*": [".storybook/*"]
},
"strict": false,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"resolveJsonModule": …Run Code Online (Sandbox Code Playgroud) 我正在使用 Ionic 和 AngularJS 来构建一个移动应用程序。
我有一个必须使用的 API(由于愚蠢的保密协议,我不确定我能说些什么)。
但在文档中它需要一个npm install. 目前,我正在学习 Ionic,我想知道该怎么做?如何使用 Angular 导入我的 API 以便我可以拨打电话?
节点:
var api = require('npm-api'); (这个,但在 Angular 中。)
api.doSomething({...}); 等等...
所以这基本上就是它在 node.js 中的样子。我怎样才能用 Angular 做到这一点?我喜欢 Angular 的 MV*,尤其是对于这个 Ionic 移动应用程序,所以我想知道最好、最有效的方法是什么。
MongoDB今天强制我的Heroku服务器上的更新从2.6到3.0
现在我的应用程序在启动后不久崩溃并出现错误:
2015-10-01T10:22:27.405579+00:00 heroku[web.1]: State changed from crashed to starting
2015-10-01T10:22:42.457971+00:00 heroku[web.1]: Starting process with command `node server`
2015-10-01T10:22:46.278159+00:00 app[web.1]: memory, and will not scale past a single process.
2015-10-01T10:22:46.278136+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2015-10-01T10:22:46.278157+00:00 app[web.1]: designed for a production environment, as it will leak
2015-10-01T10:22:47.151118+00:00 app[web.1]: production server running at http://localhost:33827
2015-10-01T10:22:47.463775+00:00 heroku[web.1]: State changed from starting to up
2015-10-01T10:22:47.767430+00:00 app[web.1]: /app/node_modules/mongodb/lib/mongodb/connection/base.js:246
2015-10-01T10:22:47.767437+00:00 app[web.1]: throw message;
2015-10-01T10:22:47.767439+00:00 app[web.1]: ^
2015-10-01T10:22:47.767441+00:00 app[web.1]: MongoError: auth failed
2015-10-01T10:22:47.767443+00:00 app[web.1]: at …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 Stripe 制作自定义付款表单,并且我想手动对 Stripe 进行 AJAX 调用。(而不是提交事件)
然而,首先我很确定我把它发布到了错误的地方。但我不知道我应该向哪个 URL 发出此 post 请求。
如果我使用正确的网址。我正在收到405 not allowed回复。没有关于我的请求有什么问题的信息。
这是我得到的:
Stripe.setPublishableKey('pk_test_12345');
Stripe.card.createToken({
number: ccNum,
cvc: ccCVC,
exp_month: ccMonth,
exp_year: ccYear
}, stripeResponseHandler);
Run Code Online (Sandbox Code Playgroud)
这部分工作正常,给我一个 200 OK 状态,并且我从服务器获得了一个令牌。
function stripeResponseHandler(status, response) {
console.log('card status: ', status);
console.log('token: ', response.id);
$.ajax({
type: 'POST',
url: 'https://checkout.stripe.com/checkout.js',
headers: {
stripeToken: response.id
},
data: {
number: ccNum,
cvc: ccCVC,
exp_month: ccMonth,
exp_year: ccYear
},
success: (response) => {
console.log('successful payment: ', response);
},
error: (response) => {
console.log('error …Run Code Online (Sandbox Code Playgroud) 最近才开始使用 TimescaleDB 和 postgrest 来处理大多数数据请求。
但是,我遇到了一个问题,即我对时间序列数据的请求效率极低。
这是一个数据系列,可以是任何时间长度,具有特定的整数值。
大多数情况下,除非出现异常,否则该值将相同。因此,而不是获取 +10,000 行数据。我想将其汇总为“时间块”。
假设连续 97 个项目的值为 100(每 5 分钟有一个新项目)#98 连续 5 个项目的值是 48,然后又回到 100 的另外 2,900 行。
我不想获取 3002 个项目来显示此数据。我应该只需要获取 3 个项目。
但是我在弄清楚如何使用 timescaledb 做到这一点时遇到了一些麻烦。
基本上,如果该值与最后一个值相同,则将其聚合。这就是我需要它做的。
有谁知道如何使用连续聚合(或者如果有更快的方法)在 timescaleDB 中为这种情况构建 VIEW 来获取它?
从使用 next.js 切换到更简单的 Parcel/webpack 构建后,我已经尝试解决这个特定错误一个多星期了,但没有成功。
我不知道如何解决这个问题,所以我希望这里有人可以提供帮助。
完整错误:
TypeError: (0 , n.default) is not a function
at admin.js:47
at admin.js:23
at Object.next (admin.js:4)
at p (redux-saga-core.esm.js:1157)
at yn (redux-saga-core.esm.js:1108)
at redux-saga-core.esm.js:585
at d (redux-saga-core.esm.js:56)
at Y (redux-saga-core.esm.js:584)
at redux-saga-core.esm.js:1204
at h (redux-saga-core.esm.js:1271)
m @ io-6de156f3.js:111
Run Code Online (Sandbox Code Playgroud)
经过一段时间的研究后,我发现这个错误发生在 admin.ts 文件中的这一行:
https://github.com/marmelab/react-admin/blob/master/packages/ra-core/src/sideEffect/admin.ts#L29
现在真正奇怪的是,它似乎是从该./error导入导入 html,而不是实际的 JS 模块。
但这个错误应该是一些 redux-saga 内容的生成器。
切换到 Parcel 后,完全被这个错误难住了。我认为包裹和反应管理之间可能存在一些奇怪的不兼容性。所以我把 Parcel 换成了更典型的 webpack 构建...但是错误仍然存在。所以这可能与构建工具无关。
现在让事情变得更加复杂。如果我手动进入并从反应管理代码中取出该错误导入和函数调用。
出现了一个新错误,'o' is not a function所以在我看来,有些事情严重搞砸了。
我根本没有改变react-admin的版本或实现。
这是使用“react-admin”:“^2.9.8”,
任何对此的帮助将不胜感激!
作为 Storybook 的忠实粉丝,我喜欢在隔离中测试我的组件。
特别是表格。
然而,我很难弄清楚如何让我的表单甚至单个表单字段单独工作。(没有编辑、创建、资源和管理包装所有内容)。
我基本上想要的只是渲染一个带有单个输入的 SimpleForm 组件,以对每个输入进行原型设计。(我使用自定义输入,因为我不喜欢 Material-ui)
我的输入是用 addField 装饰的,ra-core就像这个 textInput 示例:
import React from 'react';
import { addField } from 'react-admin';
import sanitizeRestProps from './sanitizeRestProps';
import { Input } from 'antd';
import Labeled from './Labeled';
const TextInput = ({ id, label, labelPosition, input, isRequired, ...rest }) => (
<Labeled label={label} position={labelPosition} id={id} isRequired={isRequired}>
<Input id={id} {...input} {...sanitizeRestProps(rest)} />
</Labeled>
);
export default addField(TextInput);
Run Code Online (Sandbox Code Playgroud)
如果我尝试单独渲染此输入,则会收到错误“字段必须位于用 reduxForm() 装饰的组件内”
这是公平的...我想测试它在组件中构建时是否“有效”,所以我添加了一个 SimpleForm 包装器。
就像这样:
return (
<SimpleForm>
<TextInput label={label} …Run Code Online (Sandbox Code Playgroud) javascript ×3
jquery ×2
npm ×2
react-admin ×2
typescript ×2
ajax ×1
angularjs ×1
babeljs ×1
emotion ×1
eslint ×1
heroku ×1
ionic ×1
jestjs ×1
jquery-ui ×1
mocking ×1
mongodb ×1
mongoose ×1
node.js ×1
postgresql ×1
require ×1
rxjs ×1
storybook ×1
timescaledb ×1
tsconfig ×1
unit-testing ×1