小编Det*_*ned的帖子

ES6,如何在一行中导出导入的模块?

如果可能的话,我想要以下内容但只有一行:

  • import Module from './Module/Module;
  • export Module;

我尝试了以下但它似乎不起作用:

  • export Module from './Module/Module;

import ecmascript-6

85
推荐指数
4
解决办法
3万
查看次数

使用React和Redux中的Enzyme进行嵌套组件测试

我有一个组件SampleComponent安装另一个"连接组件"(即container).当我尝试SampleComponent通过mounting 测试(因为我需要componentDidMount),我得到错误:

不变违规:无法在"Connect(ContainerComponent)"的上下文或道具中找到"store".将根组件包装在a中,或者将"store"显式传递为"Connect(ContainerComponent)"的prop.

测试这个的最佳方法是什么?

mocha.js reactjs redux enzyme

30
推荐指数
2
解决办法
2万
查看次数

如何使用Loopback的Relay/GraphQL?

使用Relay/GraphQL和Loopback的任何工作解决方案?我想我正在考虑的一些事情是如何访问数据库(因为我假设通过ORM是不可能的)以及如何在使用Relay/GraphQL时利用api生成器...

loopback relay strongloop graphql

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

使用WKWebEngine在iOS中不设置/存储Cookie

由于我们从旧UIWebView引擎升级,我们无法验证我们的用户(使用外部auth服务),因为API发送的cookie都没有在此Web视图中设置.

这对我们来说是一个主要障碍,一直在努力确定一个好的行动方案.如果我们的假设是正确的,这个网页视图不支持cookie(这很奇怪),我们将尝试:

  • 代理(不确定你是否推荐一个好的插件)
  • 原生提取(不确定你是否推荐一个好的插件)

我们的堆栈:

  • 科尔多瓦
  • 应对
  • 获取呼叫

android ios cordova hybrid-mobile-app ionic-framework

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

如何使用Mocha&Sinon测试document.addEventListener('keydown',cb)?

我正试图找出测试此方法的最佳方法:

document.addEventListener("keydown", function (event) {
    var modifiers = event.altKey || event.ctrlKey || event.metaKey ||
                    event.shiftKey;
    var mapped    = map[event.which];

    if (!modifiers) {
      if (mapped !== undefined) {
        event.preventDefault();
        self.emit("move", mapped);
      }
    }
  });
Run Code Online (Sandbox Code Playgroud)

我想确保如果键是修饰符或者键没有映射,则没有任何反应,但是,如果它们是,则监视self.emit函数.

javascript mocha.js keyboard-events dom-events sinon

7
推荐指数
1
解决办法
3659
查看次数

在 Node 环境中导入 SQL 转储

我想要一个 npm 脚本来创建/配置/等。最后导入一个 SQL 转储。整个创建、配置等都在工作,但是,我无法让导入工作。永远不会插入数据。这是我所拥有的(不要介意嵌套的回调,因为它们会变成承诺):

connection.query(`DROP DATABASE IF EXISTS ${config.database};`, err => {
  connection.query(`CREATE DATABASE IF NOT EXISTS ${config.database};`, err => {
    connection.query('use DATABASENAME', err => {
      const sqlDumpPath = path.join(__dirname, 'sql-dump/sql-dump.sql');
      connection.query(`SOURCE ${sqlDumpPath}`, err => {
        connection.end(err => resolve());
      });
    })
  });
});
Run Code Online (Sandbox Code Playgroud)

我还使用 Sequelize (ORM) 尝试了以下操作:

return new Promise(resolve => {
  const sqlDumpPath = path.join(__dirname, 'sql-dump/sql-dump.sql');
  fs.readFile('./sql/dump.sql', 'utf-8', (err, data) => {
    sequelize
      .query(data)
      .then(resolve)
      .catch(console.error);
  });
}); 
Run Code Online (Sandbox Code Playgroud)

sql node.js sequelize.js

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

在与webpack捆绑时,如何为每个.scss文件提供variables.scss?

这是我当前的项目目录结构,因为我想不出更好的方法来组织每个组件都有自己的.scss文件的用例,但是,整个应用程序都是包含全局variables.scss文件的主题.目前,我正在导入variables.scss每个组件.scss文件顶部的文件,我想知道这种工作流程的最佳实践是什么.

/ app
  / components
     / Navigation
       - Navigation.js
       - Navigation.scss
/ styles
  - globals.scss
  - variables.scss
  - main.scss
Run Code Online (Sandbox Code Playgroud)

我的main.scss文件基本上@import.scss在其目录中(例如variables.scss,globals.scss等),但是,我需要以下内容来访问每个组件内部的变量:

 // Navigation.scss
 @import '../../styles/variables.scss

 .class { ... }
Run Code Online (Sandbox Code Playgroud)

我知道我也可以导入目录中的所有组件.scss文件,main.scss但是这样做会破坏css模块的目的,并且能够在组件级别导入名称间隔等.

sass reactjs webpack

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

无法使用 html-webpack-plugin 将数据注入模板

我尝试使用此加载程序将自定义数据注入到我们的 .html 模板中,但没有成功。我们已经能够成功构建我们的资产并注入它们,但是,传递动态数据的能力并没有奏效。查看此 repo 中提供的示例,我没有看到 options.title 是如何传递到模板中的。

我正在使用这个入门工具包,这个插件非常简单:https : //github.com/AngularClass/NG6-starter

以下是相关依赖项的版本:

"webpack": "^2.2.1"
"html-webpack-plugin": "^2.29.0"
Run Code Online (Sandbox Code Playgroud)

从 webpack.config.js 复制相关部分:

module.exports = {
  devtool: 'source-map',
  entry: {
    app: [
      'babel-polyfill',
      path.join(__dirname, 'client', 'app/app.js')
    ]
  },
  module: {
    loaders: [
       { test: /\.js$/, exclude: [/app\/lib/, /node_modules/], loader: 'ng-annotate-loader!babel-loader' },
       { test: /\.html$/, loader: 'raw-loader' }, // have also tried with the html-loader
       { test: /\.(scss|sass)$/, loader: 'style-loader!css-loader!sass-loader' },
       { test: /\.css$/, loader: 'style-loader!css-loader' }
    ]
  },
  plugins: [
    // Injects bundles in …
Run Code Online (Sandbox Code Playgroud)

webpack html-webpack-plugin

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

无法将消息从inappbrowser发送到Cordova应用程序

我正在使用此模块(https://github.com/apache/cordova-plugin-inappbrowser)来打开Cordova应用程序中的外部链接。但是,postMessage文档中的示例不起作用。

我需要能够使inappbrowser实例与父代(opener)通信的能力。鉴于,没有opener对象,因此inappbrowser我仔细阅读了repo的文档和测试,并且无法重现postMessageAPI以在inappbrowser实例与主Cordova应用程序(父代)之间进行通信。

这是此仓库中的文档/测试中的一个简单示例:

const ref = cordova.InAppBrowser.open('http://www.google.com', '_blank');

ref.addEventListener('loadstop', () => {
  console.log('loadstop has been fired'); // this fires

  // when this has been executed, `webkit` variable doesn't exist inside of the `inappbrowser`
  // instance
  ref.executeScript({
    code: `(() => {
      var message = "TESTING!!!";
      webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify(message));
    })()`
  });
});

// this is never fired
ref.addEventListener('message', (...args) => {
  console.log('MESSAGE RECEIVED FROM IN_APP_BROWSER', ...args);
});
Run Code Online (Sandbox Code Playgroud)

ios phonegap-plugins cordova hybrid-mobile-app ionic-framework

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

.eslintrc 在扩展 airbnb 配置时抛出错误

我有以下内容.eslintrc,每当我使用aribnb和/或airplus扩展名整理我的项目时,我都会收到以下错误:

// .eslintrc
{
  "parser": "babel-eslint",
  "rules": {
    "id-length": 0,
    "indent": [
      2,
      2,
      {
        "SwitchCase": 1
      }
    ],
    "quotes": [
      2,
      "single"
    ],
    "linebreak-style": [
      2,
      "unix"
    ],
    "semi": [
      2,
      "always"
    ],
    "no-duplicate-case": 1,
    "no-else-return": 0,
    "react/sort-comp": [
      1,
      {}
    ],
    "no-undef": 1,
    "no-unused-vars": [
      1,
      {
        "args": "none",
        "argsIgnorePattern": "store|action|next"
      }
    ],
    "object-curly-spacing": [
      1,
      "always"
    ],
    "react/no-did-mount-set-state": [
      1
    ]
  },
  "env": {
    "es6": true,
    "node": true,
    "browser": true
  }, …
Run Code Online (Sandbox Code Playgroud)

lint node.js eslint airbnb-js-styleguide

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