标签: babel

在Webpack中使用Bootstrap的首选方法

问候一个,所有,

我一直在玩Webpack的Bootstrap,但我正在把我的头发撕掉.我从字面上通过博客文章的负荷了,他们要么使用7个月过时"自举的WebPack"插件(其中,令人惊讶的不开箱的)或.它们包括引导文件通过进口"node_modules/*/自举/ CSS/bootstrap.css'.

当然,必须有一种更清洁,更有效的方法来解决这个问题吗?

这是我目前的webpack.config.js档案:

var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var autoprefixer = require('autoprefixer');
var path = require('path');

module.exports = {
    entry: {
        app: path.resolve(__dirname, 'src/js/main.js')
    },
    module: {
        loaders: [{
            test: /\.js[x]?$/,
            loaders: ['babel-loader?presets[]=es2015&presets[]=react'],
            exclude: /(node_modules|bower_components)/
        }, {
            test: /\.css$/,
            loaders: ['style', 'css']
        }, {
            test: /\.scss$/,
            loaders: ['style', 'css', 'postcss', 'sass']
        }, {
            test: /\.sass$/,
            loader: 'style!css!sass?sourceMap'
        },{
            test: /\.less$/,
            loaders: ['style', 'css', 'less']
        }, {
            test: /\.woff$/,
            loader: "url-loader?limit=10000&mimetype=application/font-woff&name=[path][name].[ext]"
        }, {
            test: …
Run Code Online (Sandbox Code Playgroud)

javascript babel twitter-bootstrap webpack vue.js

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

ES6模块:导入的常量最初是未定义的; 他们以后可以使用

我在我的JavaScript应用程序中使用ES6模块.源代码是用webpack和babel编译的.这是文件的缩短版本,这会给我带来麻烦:

export const JUST_FORM = 0;
export const AS_PAGE = 1;

console.log(AS_PAGE); // **

export default function doSomething(mode = AS_PAGE) {
  console.log(mode);
  console.log(JUST_FORM);
}
Run Code Online (Sandbox Code Playgroud)

我正如您期望的那样使用此功能.

import doSomething, { AS_PAGE } from './doSomething'

console.log(AS_PAGE);

doSomething();
Run Code Online (Sandbox Code Playgroud)

当我运行的应用程序,它打印三次undefined且仅一次的预期值AS_PAGE也就是console.log标记**.但是,这是最后打印的!它表明:

  • AS_PAGE当用作doSomething函数`的默认参数时,常量在定义函数时未定义.
  • 在JUST_FORM当常量没有定义doSomething被调用.
  • 在AS_PAGE明确的导入时没有定义的常量.

显然,这里发生的事情是只有default导出被解析和评估,文件的其余部分将被忽略,直到稍后.我在我的应用程序中的几个不同位置导入此文件(此时此刻非常大),并且在某些时候这些值实际上可用.从控制台输出来看,这是时间问题,但它可能有不同的原因.显然,我在所有地方都以完全相同的方式进口.

无论如何,我已经编写了我的整个应用程序,假设一旦我导入了一些东西,它立即可用,我可以在我的代码中使用它.我(简要地)阅读了ES6模块应该如何工作,我没有找到任何可以证明这个假设错误的东西.它一直在努力.

另请注意,当我运行它webpack-dev-server或将其编译为单个包时,行为是相同的.

这种行为是否真的正确?可能有什么责任呢?

javascript babel ecmascript-6

26
推荐指数
1
解决办法
8390
查看次数

对@ babel/preset-env的useBuiltIns选项感到困惑(使用浏览器集成)

我正在使用Babel 7和Webpack 4进行一个Web项目.我之前从未使用过Babel,也无法真正理解它的某些部分.基于我正在使用的文档,@babel/preset-env因为它似乎是推荐的方式(特别是对于初学者).还通过我的.browserslistrc文件使用浏览器列表集成.

Webpack编译好(babel-loader版本8.0.2),我没有错误,但我对useBuiltIns: "entry" 这里提到的这个选项以及polyfill系统如何在Babel中工作感到困惑.

.babelrc.js

module.exports = {
  presets: [
    ['@babel/preset-env', {
      "useBuiltIns": "entry" // do I need this?
    }]
  ],
  plugins: [
    '@babel/plugin-syntax-dynamic-import'
  ]
};
Run Code Online (Sandbox Code Playgroud)

.browserslistrc
从这里复制(认为​​合理,因为我的项目使用的是Bootstrap).

>= 1%
last 1 major version
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30
Run Code Online (Sandbox Code Playgroud)

所以我的问题是: …

javascript babel webpack babel-preset-env

26
推荐指数
2
解决办法
9051
查看次数

在sublime文本3中的React.js文件语法

我使用sublime text 3作为我的代码编辑器,我在React中编写了一个基本的hello world示例.但是代码上的着色是不合适的,我尝试过安装Babel插件但是即使在那之后着色似乎也不起作用,如您所见,下图

在此输入图像描述

javascript jsx babel sublimetext3 reactjs

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

如何将JSX文件默认设置为在sublime中突出显示的Babel文本

我有一个babel文本突出显示我添加到我的崇高.但是,每次我打开一个新的反应项目时,它默认为javascript文本突出显示然后我必须重置每个javascript文件以获得正确的文本突出显示.正如您在我的屏幕截图右下角所见,它默认设置为javascript.

在此输入图像描述

javascript babel sublimetext3

21
推荐指数
1
解决办法
5380
查看次数

跟踪:节点类型SpreadProperty已在Object.isSpreadProperty重命名为SpreadElement

我正在推出一个反应应用程序,这是我的Webpack配置:

'use strict'

const ExtractPlugin = require('extract-text-webpack-plugin')
const HTMLPlugin = require('html-webpack-plugin')
module.exports = {
    devtool: 'eval',
    entry: `${__dirname}/src/main.js`,
    output: {
        filename: 'bundle-[hash].js',
        path: `${__dirname}/build`,
        publicPath: '/',
    },
    mode: 'development',
    performance: {
        hints: false
    },
    plugins: [
        new HTMLPlugin(),
        new ExtractPlugin('bundle-[hash].css'),
    ],
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_module/,
                loader: 'babel-loader',
            },
            {
                test: /\.scss$/,
                loader: ExtractPlugin.extract(['css-loader', 'sass-loader']),
            },
        ],
    },
}
Run Code Online (Sandbox Code Playgroud)

然后,我有一个package.json文件,这里是依赖项:

"devDependencies": {
    "@babel/core": "^7.1.6",
    "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
    "@babel/preset-env": "^7.1.6",
    "@babel/preset-react": "^7.0.0",
    "and": "0.0.3",
    "babel-cli": "^6.26.0",
    "babel-core": "^7.0.0-bridge.0", …
Run Code Online (Sandbox Code Playgroud)

babel reactjs webpack

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

Babel 7-ReferenceError:未定义regeneratorRuntime

我有一个应用程序,它是一个节点后端和一个反应前端。

当我尝试构建/运行节点应用程序时出现以下错误。

节点: v10.13.0

错误:

dist / index.js:314 regeneratorRuntime.mark(function _callee(productId){^

ReferenceError:未定义regeneratorRuntime

.babelrc

{
    "presets": [    [
        "@babel/preset-env", {
          "targets": {
            "node": "current"
          },
        }
      ], "@babel/preset-react"],
    "plugins": [
        "@babel/plugin-proposal-class-properties"
    ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

{
        mode: "development",
        entry: "./src/index.js",
        target: "node",
        externals: [nodeExternals()], // in order to ignore all modules in node_modules folder
        stats: {
            colors: true
        },
        devtool: "source-map",

        output: {
            path: path.resolve(__dirname, "dist"),
            filename: "index.js",
            sourceMapFilename: "index.js.map"
        },
        module: {
            rules: [
                {
                    enforce: "pre",
                    test: /\.js$/,
                    exclude: /node_modules/,
                    loader: …
Run Code Online (Sandbox Code Playgroud)

javascript babel node.js webpack

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

Node和docker - 如何处理babel或打字稿?

我有一个节点应用程序,我想在Docker容器中托管,这应该是直截了当的,如本文所示:

https://nodejs.org/en/docs/guides/nodejs-docker-webapp/

但是,在我的项目中,源不能直接运行,必须从ES6和/或Typescript编译.我使用gulp与babel,browserify和tsify一起构建 - 使用不同的浏览器和服务器设置.

在这种情况下,构建和自动化 docker镜像的最佳工作流程是什么?网络上是否有描述此类工作流程的资源?如若Dockerimage做建成后npm install,或者我应该创建一个shell脚本来完成这一切,简单的让Dockerfile收拾它一起?

如果Dockerfile应该进行构建 - 图像需要包含所有dev-dependencies,这是不理想的?

注意:我已经能够设置一个docker容器并运行它 - 但是这需要预先安装和构建所有文件.

babel node.js typescript docker gulp

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

Babel Preset不为IE11提供对Object.assign的支持 - "对象不支持属性或方法'assign'"

我正在使用babel-preset-env版本 - 1.6.1为我的反应应用程序,我在IE上收到错误: - 对象不支持属性或方法'assign' 在此输入图像描述

这是我的.babelrc: -

{
"presets": [
    "react",
    [
        "env",
        {
            "targets": {
                "browsers": [
                    "last 1 versions",
                    "ie >= 11"
                ]
            },
            "debug": true,
            "modules": "commonjs"
        }
    ]
],
"env": {
    "test": {
        "presets": [
            [
                "babel-preset-env",
                "react"
            ]
        ],
        "plugins": [
            "transform-object-rest-spread",
            "transform-class-properties",
            "transform-runtime",
            "babel-plugin-dynamic-import-node",
            "array-includes",
            "url-search-params-polyfill",
            "transform-object-assign"
        ]
    }
},
"plugins": [
    "transform-object-rest-spread",
    "transform-class-properties",
    "syntax-dynamic-import",
    "transform-runtime",
    "array-includes",
    "url-search-params-polyfill",
    "transform-object-assign"
]
Run Code Online (Sandbox Code Playgroud)

}

我试过这些polyfills: -

https://babeljs.io/docs/plugins/transform-object-assign/ https://www.npmjs.com/package/babel-plugin-object-assign

但它不起作用

我正在使用语法: -

let a …
Run Code Online (Sandbox Code Playgroud)

internet-explorer babel reactjs webpack babel-preset-env

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

无法找到相对于目录的预设"env"

到目前为止,我一直试图使用env预设失败.我浏览,其他人已经提出了这样的问题的git 这个,并采取了一些那似乎为别人工作的建议,但至今没有运气.

这是我正在使用的:

的package.json

"bundle": "browserify ./client/app.js -d -o ./public/o.js -t [ babelify --presets [ env ] ]",
"devDependencies": {
  "@babel/cli": "^7.0.0-beta.40",
  "@babel/preset-env": "^7.0.0-beta.40",
  "babel-core": "^6.26.0",
  "babelify": "^8.0.0"
...
Run Code Online (Sandbox Code Playgroud)

这是错误:

Error: Couldn't find preset "env" relative to directory "/Users/user/Documents/git/ts/client" while parsing file: /Users/user/Documents/git/ts/client/app.js
Run Code Online (Sandbox Code Playgroud)

我可能遗失的任何东西?

babel babelify

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