相关疑难解决方法(0)

我使用babel时是否需要js?

我正在尝试ES6,我使用gulp构建和babel转换为ES5.输出不在节点中运行,只是从带有标记的.htm文件链接.我想我需要补充一下

<script src='require.js'></script>
Run Code Online (Sandbox Code Playgroud)

或类似的东西.

我试图导入/导出.

////////////////scripts.js
import {Circle} from 'shapes';

c = new Circle(4);

console.log(c.area());


/////////////////shapes.js
export class Circle {

    circle(radius) {
        this.radius = radius;
    }

    area() {
        return this.radius * this.radius * Math.PI;
    } 

}
Run Code Online (Sandbox Code Playgroud)

错误是

Uncaught ReferenceError: require is not defined
Run Code Online (Sandbox Code Playgroud)

参考这个(在gulp之后的.pipe(babel())之后)

var _shapes = require('shapes');
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

gulp babel,出口没有定义

考虑以下示例代码(也许我做错了?)

 var FlareCurrency = {

 };

export {FlareCurrency};
Run Code Online (Sandbox Code Playgroud)

我有以下任务:

gulp.task("compile:add-new-currency-minified", function(){
  return gulp.src('src/add-new-currency/**/*.js')
             .pipe(babel())
             .pipe(concat('Flare-AddNewCurrency.js'))
             .pipe(uglify({"preserveComments": "all"}))
             .pipe(gulp.dest('dist/minified/'));
});
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到以下内容:

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var FlareCurrency={};exports.FlareCurrency=FlareCurrency;
Run Code Online (Sandbox Code Playgroud)

为了它的乐趣,我想在控制台中运行它,是的我知道它什么都不做,但我没想到会看到这个:

Uncaught ReferenceError: exports is not defined(…)
Run Code Online (Sandbox Code Playgroud)

非缩小版:

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
var FlareCurrency = {};

exports.FlareCurrency = FlareCurrency;
Run Code Online (Sandbox Code Playgroud)

抛出同样的错误.想法?

javascript ecmascript-5 ecmascript-6 gulp babeljs

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

React +(路由器)没有webpack或browserify

是否可以使用与ReactRouter的反应,而不使用browserify或webpack.我正在关注http://rackt.github.io/react-router的文档,他们需要react和react-router(require('react-router');).如果我使用browerifly我生成的捆绑大约是1MB文件大小,这听起来很多.

那么是否可以通过包含来自像https://cdnjs.cloudflare.com/ajax/libs/react-router/0.13.3/ReactRouter.js这样的CDN的编译JS来实现反向传输,而不是自己捆绑所有需求?如果我尝试使其与CDN一起使用,我会收到一条未定义Route的错误.但它看起来像是在cdn文件中导出的.

我想编译我的JSX/ES6反应组件包括ReactRouter并从cdn反应JS文件,只将我的组件捆绑到一个新的js文件中.

这是可能的,还是浏览器和webpack正确设置项目的方法?(我看了几个github回购).我有些疑惑,因为http://rackt.github.io/react-router/上没有安装指南

喜欢这个伪html:

<head>
    CND :include react, react-router
    my code combinded.js
</head>
Run Code Online (Sandbox Code Playgroud)

browserify reactjs webpack react-router

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

Babel编译的JS无法导入相对路径

我有我正在写在ES2015并用巴别6. transpiling的ES2015源代码是在NPM包/src,分成模块/src/core,/src/commands等.因为它是一个CLI工具,所以入口点在/src/bin/app.js.如果我运行babel-node src/bin/app.js它按预期工作.

理想情况下,我想全局安装此工具(如grunt-cli),因此我将整个包转换为单个有效的JS(ES5)文件babel src -o /lib/app.js.但是,如果我尝试运行该文件,则会尝试从相对路径中请求模块时出现错误,并且无法找到这些模块,因为它们都已合并到app.js.错误是:

$ node_modules/babel-cli/bin/babel-node.js lib/app
module.js:328
    throw err;
    ^

Error: Cannot find module '../commands/index'
    at Function.Module._resolveFilename (module.js:326:15)
    at Function.Module._load (module.js:277:25)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/app/lib/app.js:19:14)
    at Module._compile (module.js:398:26)
    at Module._extensions..js (module.js:405:10)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/me/dev/app/node_modules/babel-register/lib/node.js:138:7)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
Run Code Online (Sandbox Code Playgroud)

.babelrc只是:

{
  "presets": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)

这应该工作,还是我需要更多配置Babel?备份计划是简单地将整个/src文件夹转换为/lib并发布所有内容,但单个文件会更好.

javascript node.js babeljs

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