小编JmJ*_*JmJ的帖子

未捕获错误:定义不能间接使用

我正在使用webpack和babel在我正在制作的节点快速应用程序中转换我的es6/jsx文件.一切都很好,直到我包含google spreadsheetnpm模块并尝试将其导入我的项目.

我收到错误Uncaught Error: define cannot be used indirect但导入的模块中没有define语句.此错误仅显示在浏览器中,而不是在webpack捆绑我的文件时在我的控制台中显示,并完全阻止在页面上呈现任何内容.

我认为这与AMD/Commonjs有关,但我太缺乏经验,无法确定,或者如果是这样的话甚至会做什么.任何帮助,将不胜感激

javascript node.js express webpack babeljs

9
推荐指数
1
解决办法
2031
查看次数

无法使用`sass-loader`内联样式

我有一个项目设置,我用它ExtractTextPlugin来创建一个CSS文件.我试图创建使用注入到页面的样式开发的WebPack配置style-loader,css-loadersass-loader.

据我所知,默认行为是将样式注入到<style />标记中,我删除了所有痕迹,ExtractTextPlugin但它仍然不想注入样式.

有谁知道什么可能导致样式丢失?我的Webpack配置如下.

配置:

const webpack = require('webpack')

module.exports = config => Object.assign({}, {
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
      },
      {
        test: /\.scss$/,
        use: [
          'style-loader',
          'css-loader',
          'sass-loader'
        ]
      }
    ]
  },
  plugins: [
    new webpack.SourceMapDevToolPlugin({
      filename: 'bundle.js.map'
    }),
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('development')
    })
  ]
}, config)
Run Code Online (Sandbox Code Playgroud)

叫:

module.exports = require('../../dev')({
  name: 'Onboarding',
  entry: './src/apps/components/Onboarding/index.js'
})
Run Code Online (Sandbox Code Playgroud)

css webpack webpack-style-loader sass-loader css-loader

9
推荐指数
1
解决办法
731
查看次数

PanResponder在第二次拖动时将Animated.View捕捉回原始位置

我创建了一个PanResponder来Animated.View垂直移动.当我从它的原始位置移动它时,它工作正常,但是一旦我再次移动它,它会快速回到原来的位置,然后相对于触摸移动.

我正在将响应者直接解压缩Animated.View,这是否会导致这种行为?

以下是我定义PanResponder的方法:

this.state = {                            
  drag: new Animated.ValueXY()            
}                                         

this._responder = PanResponder.create({                                              
    onStartShouldSetPanResponder: () => true,                             
    onPanResponderMove: Animated.event([null, {                           
      dy: this.state.drag.y                                             
    }]),                                                                  
    onPanResponderRelease: (e, coords) => {
      ...
    }     
})
Run Code Online (Sandbox Code Playgroud)

并将响应者应用于我的Animated.View:

<Animated.View {...this._responder.panHandlers} style={this.state.drag.getLayout()}>
  // children go here
</Animated.View>                 
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript reactjs react-native

7
推荐指数
2
解决办法
2607
查看次数

使用try catch对象文字

在回调中,我构建了一个我构建的对象,以便在我的Express应用程序中发送:

this.response = {
      owner: data.actions[1].causes[0].shortDescription,
      build_version: data.actions[0].parameters[0].value,
      branch_to_merge: data.actions[0].parameters[1].value,
      jira_tickets: data.actions[0].parameters[2].value,
      build_description: data.actions[0].parameters[3].value,
      outcome: data.result
    };
Run Code Online (Sandbox Code Playgroud)

如果我获得的响应与我习惯的不同,我会得到一个致命cannot find 'property' of undefined错误,导致我的服务器崩溃:data.actions[1].causes[0].shortDescription.

我想知道该怎么办,我想我可以把它放在一个try catch但似乎错了.

什么被认为是解决这个问题的好方法?

javascript node.js express

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

在React Native中调试Android WebViews

我需要检查我在我的应用程序中运行的webview的内容和网络请求.使用iOS我可以打开模拟器,打开Safari,然后我可以检查webview,就像我任何其他网站一样.

我遇到了Android问题.我已经去了chrome:// inspect,并且能够在连接的设备上检查Chrome,但是我无法检查webview.

我已经尝试将webView.setWebContentsDebuggingEnabled(true);ReactWebViewManager.java移入onPageStarted方法中,以便始终启用它,但这没有任何效果.

谢谢

android webview react-native

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

从JSContext内的JS Promise / async函数获取价值

我正在从中执行JavaScript SDK JSContext,但是我无法从SDK的任何异步函数中获取值。我可以从中获得JavaScript许诺JSContext,但是我不知道如何解决它。我尝试了许多方法来从Promise中获得价值,但是每个方法都失败了。

如果我尝试以下操作,我会[object Promise]回来:

return self.jsContext.evaluateScript("new Promise(resolve => { setTimeout(300, () => resolve([1, 2, 3])) })")!
Run Code Online (Sandbox Code Playgroud)

如果我then直接链接到JS,我[object Promise]仍然会:

return self.jsContext.evaluateScript("new Promise(resolve => { setTimeout(300, () => resolve([1, 2, 3])) }).then(val => val.json())")
Run Code Online (Sandbox Code Playgroud)

如果我尝试从Swift调用方法,我仍然会得到[object Promise]

let jsPromise = self.jsContext.evaluateScript("new Promise(resolve => { setTimeout(300, () => resolve([1, 2, 3])) })")
let promiseResult = jsPromise?.invokeMethod("then", withArguments: ["val => { return val.json() }"])
return promiseResult!
Run Code Online (Sandbox Code Playgroud)

如果我在Promise之外声明一个JS变量,然后从Swift调用中将值传递给它,则会then得到设置为它的原始值(如预期,但值得一试):

self.jsContext.evaluateScript("let tempVar = 'Nothing …
Run Code Online (Sandbox Code Playgroud)

javascript promise ios swift

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

onPress 在 Android 上无法触发,但在 iOS 上正常

我已经编写了一个 React Native 应用程序,iOS 是首要任务,所以我首先构建了它。它在 App Store 中并且工作完美,但是我刚刚开始在 Android 上工作,尽管除了触摸事件之外一切似乎都工作正常,而触摸事件根本没有触发。

没有任何可触摸元素正在调用回调onPress,该元素也没有Button。我什至尝试完全剥离应用程序,删除导航器,并向初始屏幕添加大量可触摸元素,但仍然没有onPress触发任何回调。

下面是我的应用程序初始屏幕的代码,尽管我怀疑这些代码是否导致了问题:

// @flow
import React, { type Element } from 'react';
import { View, Text, Image, TouchableOpacity } from 'react-native';
import type { NavigatorScreenProps } from 'react-navigation';
import i18n from '../../i18n';
import style from './style';

type Props = {
  navigation: NavigatorScreenProps
}

export default function SignIn ({ navigation }: Props): Element<typeof View> {
  return (
    <View style={style.container}>
      <View style={style.top}>
        <Image source={require('../../assets/images/purpleWithTransparentBackground.png')} …
Run Code Online (Sandbox Code Playgroud)

javascript android react-native

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

以编程方式/命令打开iOS Developer Menu

这不是一个严重的错误,但我总是觉得在我的办公桌上工作时手机很奇怪,当它第一次不能工作时更是如此.如果我们开始谈论摇晃iPad专业版,那就感觉不对劲了.

在Android上,我可以运行以下命令: adb shell input keyevent KEYCODE_MENU

是否有iOS等价物?

谢谢

ios react-native

4
推荐指数
1
解决办法
1081
查看次数

扩展泛型时,TypeScript `extend` 会产生 ESLint 错误

我有大量附加了一些元数据的模型,因此我创建了一个通用类型,以便在模型存在时将它们附加到模型中:

type WithMeta<T> = T extends Meta;
Run Code Online (Sandbox Code Playgroud)

尽管这会产生以下错误:Parsing error: '?' expected.

ESLint 没有告诉我哪个规则触发了这个,所以希望这里有人知道答案吗?谢谢

typescript eslint

4
推荐指数
1
解决办法
3428
查看次数

我可以从两个整数中设置一个双精度数吗?

我想知道是否有可能从两个整数设置一个双,说:

int i = 1;
int j = 2;

double l = i.j;
Run Code Online (Sandbox Code Playgroud)

所以希望我设置为1.2.

我正在尝试使用循环,但没有任何结果:

for (int i = 0; i < 8; i++){
    for(int l = 0; l < 8; l++){
        double piece = i.l;
            ChessSquare chessSquare = new ChessSquare(i, l, piece);
            int[][] square = new int[i][l];
            frame.add(chessSquare);
    }
}
Run Code Online (Sandbox Code Playgroud)

java double

2
推荐指数
1
解决办法
492
查看次数