小编Mic*_*ngo的帖子

为什么我必须将babel-presets放在.babelrc和webpack.config.js中?

好.我正在引导一个简单的应用程序.我正在使用flow.js. 我使用的预设是babel-preset-2015,babel-preset-react和babel-preset-stage-0.我必须在我的.babelrc和我的webpack.config中放置相同的预设才能完成所有工作.如果我例如从webpack.config中删除它我得到一个错误'React is not defined'.如果我删除.babelrc和babel-register我得到一个错误,因为我使用import和Flow.js注释.为什么会这样?如果我在webpack.config中放置预设我应该能够删除.babelrc或反之.这就是我的代码现在看起来如何工作(减去一些对问题不重要的文件).

启动dev.js

require('babel-register')
require('./src/server/index.js')
Run Code Online (Sandbox Code Playgroud)

index.js

/* @flow */

import Express from 'express'
import path from 'path'
import conf from '../conf/'

const APP_PORT: number = conf.APP_PORT
const PORT = process.env.PORT || APP_PORT

const app: Express = new Express()

// Middleware
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.use(Express.static(path.join(__dirname, '../', 'client', 'dist')))

// Routes
app.get('*', function (req: Object, res: Object) {
  res.render('index')
})

app.listen(PORT, function () {
  console.log(`Express server is up on port ${PORT}`)
})
Run Code Online (Sandbox Code Playgroud)

app.js

import React from …
Run Code Online (Sandbox Code Playgroud)

reactjs webpack babeljs

18
推荐指数
1
解决办法
9733
查看次数

抛出错误但是Jest的`toThrow()`没有捕获错误

这是我的错误代码:

 FAIL  build/__test__/FuncOps.CheckFunctionExistenceByString.test.js
  ? 
    expect(CheckFunctionExistenceByStr(
      'any string', 'FunctionThatDoesNotExistsInString'
    )).toThrow();


    Function FunctionThatDoesNotExistsInString does not exists in string.

      at CheckFunctionExistenceByStr (build/FuncOps.js:35:15)
      at Object.<anonymous> (build/__test__/FuncOps.CheckFunctionExistenceByString.test.js:12:51)
          at new Promise (<anonymous>)
          at <anonymous>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,确实发生了错误:Function FunctionThatDoesNotExistsInString does not exists in string..然而,它并没有被捕获为Jest中的传球.

这是我的代码:

test(`
    expect(CheckFunctionExistenceByStr(
      'any string', 'FunctionThatDoesNotExistsInString'
    )).toThrow();
  `, () => {
    expect(CheckFunctionExistenceByStr(
      'any string', 'FunctionThatDoesNotExistsInString'
    )).toThrow();
  }
);
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing ecmascript-6 jestjs

12
推荐指数
3
解决办法
2508
查看次数

Webpack dev服务器从命令行自定义参数

我想从命令行传递自定义参数.像这样的东西:

webpack-dev-server --inline --hot --customparam1=value
Run Code Online (Sandbox Code Playgroud)

我正在努力实现的是我正在开发一个vue-loader应用程序.该应用程序具有某些获取数据的服务.

我有另一个充当api服务器的应用程序.我们需要以两种方式运行应用程序(因为我们团队的所有成员都无法访问api服务器)

因此该服务有两种获取数据的方式:

1)如果api服务器正在运行(对于开发团队),请使用http调用从localhost获取数据

2)如果api服务器没有运行(对于设计团队),只需使用服务中已存在的静态数据:

var someData;
if (customparam1 === "withApi"){
   someData=getData("http://localhost:8081/apiendpoint");
} else {
   someData=[
       {a:b},
       {c:d},
       // more custom array of static data
       .....
   ]
}
Run Code Online (Sandbox Code Playgroud)

所以这个customparam1应该从webpack-dev-server命令行传递,根据这个文档,我找不到这样的方法(我错过了什么?)

我该怎么做?

PS:我在webpack 1.12.1上

ecmascript-6 webpack webpack-dev-server vue-loader

10
推荐指数
3
解决办法
6246
查看次数

__non_webpack_require__ 未定义

我是 webpack 和 node 的新手,我想知道如何使用

__non_webpack_require__ 
Run Code Online (Sandbox Code Playgroud)

功能。我访问了webpack 的网站,但仍然对这个功能是什么以及如何使用它感到困惑。您能否提供此功能用例的简短描述,然后是如何在节点/反应应用程序中使用它?

javascript node.js reactjs webpack

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

无效的配置对象output.path不是绝对路径

我尝试使用webpack将".ts"编译为".js",但是出现此错误,我该如何解决这个问题?

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration.output.path: The provided value "./dist" is not an absolute path!"
Run Code Online (Sandbox Code Playgroud)

javascript typescript webpack

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

如何关闭webpack中的babel缩小?

这是我用来准备生产脚本的webpack配置

  config.output.filename = '[hash].main.js';

  config.module.loaders.push({
    test: /\.js$/,
    loaders: ['babel'],
    exclude: /node_modules/,
    include: path.join(__dirname, 'app'),
  });
Run Code Online (Sandbox Code Playgroud)

但是出于调试目的,我希望能够在xxxx.main.js不进行任何缩小或优化的情况下生成最终输出.

如何通过上述配置实现这一目标?

我实际上对webpack/babel工具不太熟悉,所以我实际上不确定是不是执行缩小的babel或webpack

minify webpack babeljs

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

用于多类分类的 PyTorch LSTM:TypeError:“Example”和“Example”实例之间不支持“&lt;”

我正在尝试修改本教程中的代码以使其适应多类数据(我有 55 个不同的类)。触发错误,但我不确定根本原因。我对本教程所做的更改已在同一行注释中进行了注释。

两个解决方案之一可以满足这个问题:

(A) 帮助确定错误的根本原因,或者

(B) 使用 PyTorch LSTM 进行多类分类的样板脚本

import spacy
import torchtext
from torchtext import data
import re

TEXT = data.Field(tokenize = 'spacy', include_lengths = True)
LABEL = data.LabelField(dtype = torch.float)
fields = [(None,None),('text', TEXT), ('wage_label', LABEL)]

train_torch, test_torch = data.TabularDataset.splits(path='/Users/jdmoore7/Desktop/Python Projects/560_capstone/', 
                                            format='csv', 
                                            train='train_text_target.csv', 
                                            test='test_text_target.csv', 
                                            fields=fields,
                                            skip_header=True)


import random
train_data, valid_data = train_torch.split(random_state = random.seed(SEED)) 

MAX_VOCAB_SIZE = 25_000

TEXT.build_vocab(train_data, 
                 max_size = MAX_VOCAB_SIZE, 
                 vectors = "glove.6B.100d", 
                 unk_init = torch.Tensor.normal_)

LABEL.build_vocab(train_data)

BATCH_SIZE = 64

device = torch.device('cuda' if …
Run Code Online (Sandbox Code Playgroud)

python lstm multiclass-classification pytorch

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

导入json文件时出现Webpack错误

这是一个破坏的简单测试用例:

首先,从Node保存一个json文件:

const fs = require('fs')

let test = {
  foo: [
    { 1: 'a'},
    { 2: 'b'}
  ]
};

fs.writeFileSync('./test.json', JSON.stringify(test), 'utf-8');
Run Code Online (Sandbox Code Playgroud)

然后,尝试将此json导入到由Webpack处理的js文件中(我使用的是最新版的Webpack,3.4.1):

import test from './test.json';

console.log(test);
Run Code Online (Sandbox Code Playgroud)

失败并显示以下错误:

ERROR in ./test.json                                       
Module build failed: SyntaxError: Unexpected token, expected ; (1:6)

> 1 | {"foo":[{"1":"a"},{"2":"b"}]}
Run Code Online (Sandbox Code Playgroud)

控制台输出所指向的令人反感的字符是“ foo”后的冒号。

我的Webpack配置非常简单,只有以下module选项:

  module: {
    rules: [
      {
        test: /\.js/,
        exclude: [ path.resolve(__dirname, 'node_modules') ],
        loader: 'babel-loader'
      },
      {
        test: /\.css$/,
        use: ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        })
      }
    ]
  },
Run Code Online (Sandbox Code Playgroud)

感到困惑,我打开了JSON加载程序页面,该页面通知我: …

javascript json webpack

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

如何使用Webpack 2 Raw-Loader读取文件

我目前陷入困境,我需要在HTTPS模式下启动NodeJS服务器并需要读取cert文件,以便在https.createServer(options, app).listen(8443)命令中将它们作为选项.我很难掌握如何将文件读入使用Webpack 2捆绑的TypeScript文件中.例如,

我有2个文件file.crt和file.key.我想在创建https服务器并开始侦听给定端口时读取这些文件.在常规的TS/JS土地上,我可以这样做:

```

import Config from '../env/config';
import Express from '../lib/express';
import * as https from 'https';

import * as fs from 'fs';

let config = new Config();
let app = Express.bootstrap().app;

export default class AppService{

  constructor(){
    // console.log('blah:', fs.readFileSync('./file.txt'));
  }

  start(){

    let options = {
      key: fs.readFileSync('file.key'),
      cert: fs.readFileSync('file.crt'),
      ca: fs.readFileSync('ca.crt'),
      passphrase: 'gulp'
    };

    https.createServer(options, app).listen(config.port,()=>{
      console.log('listening on port::', config.port );
    });

  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当webpack 2构建捆绑包时,这些文件不会被引入,因此当节点启动时它无法找到它们.好吧,我明白了,但我读到原始加载器会为此工作,所以我想我会尝试一下.

这是我的webpack配置文件:

// `CheckerPlugin` is optional. Use it if you …
Run Code Online (Sandbox Code Playgroud)

node.js webpack raw-loader webpack-2 typescript2.0

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

es6中的默认值不适用于箭头功能

handleSuccessFeatureListing = (selectedOption=7) => {
    console.log(selectedOption);
}
Run Code Online (Sandbox Code Playgroud)

为什么selectedOption仍然可以为null?我以为我已经将7设置为selectedOption的参数的默认值?

javascript ecmascript-6 babeljs

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