2016-08-25 4 views
0

Я пытаюсь поднять голову вокруг webpack, и для этого я создаю небольшой проект веб-пакета.babel-loader not transpiling

Пока он перемещает мои две точки входа и их зависимости в папку dist, но ни один из файлов не переполняется. Я установил babel-загрузчик и установил правильные пресеты, но все же ничего не работает.

const HtmlWebpackPlugin = require('html-webpack-plugin'); 

module.exports = { 
    context: __dirname, 
    entry: { 
    main: "./main", 
    renderer: "./app/js/renderer" 
    }, 
    output: { 
     path: __dirname + "/dist", 
     filename: "[name].bundle.js" 
    }, 
    target: "electron", 
    plugins: [new HtmlWebpackPlugin({ 
    title: 'Electron Test', 
    chunks: ['renderer'], 
    inject: 'body', 
    hash: 'true' 
    })], 
    loaders: [ 
    { 
     test: /\.js$/, 
     exclude: /(node_modules|dist)/, 
     loader: 'babel', 
     query: { 
     presets: ['es2015', 'stage-0'] 
     } 
    } 
    ] 
}; 

Я что-то пропустил здесь?

Мой package.json выглядит следующим образом:

{ 
    "name": "electron-quick-start", 
    "version": "1.0.0", 
    "description": "Electron boilerplate with ES6, SCSS and packaging.", 
    "main": "main.js", 
    "scripts": { 
    "start": "npm run build && electron lib", 
    "build": "rm -rf ./dist && webpack ." 
    }, 
    "keywords": [ 
    "Electron", 
    "boilerplate" 
    ], 
    "author": "CWright", 
    "license": "CC0-1.0", 
    "devDependencies": { 
    "babel-core": "^6.14.0", 
    "babel-loader": "^6.2.5", 
    "babel-preset-es2015": "^6.14.0", 
    "babel-preset-stage-0": "^6.5.0", 
    "html-webpack-plugin": "^2.22.0", 
    "webpack": "^1.13.2", 
    "webpack-validator": "^2.2.7" 
    }, 
    "dependencies": { 
    "electron": "^1.3.2" 
    } 
} 

ответ

1

Я не совсем уверен, Что это неправильно, но я вижу нечто здесь.

Во-первых, убедитесь, что версия Вавилонской вы работаете, для этой установки я на основе

"babel-core": "5.8.25", 
"babel-loader": "5.3.2" 

1 - Создание внешнего .babelrc файла муравей в нем вы помещаете переменную stage0 , Я заметил, что вы положили запрос, и я не пробовал, как вы, но мой работает отлично, как внешний файл, мне не нужно было поставить es2015.

{stage:0} 

2 - Если вы на окнах, вы должны использовать обходной путь, чтобы исправить путь, я использую мой конфиг так:

Заголовок:

const webpack = require("webpack"); 
const HtmlWebpackPlugin = require('html-webpack-plugin'); 
const path = require("path"); 
const srcPath = path.join(__dirname, 'src'); 

3 - Ваша запись точка должна учитывать фактический путь:

entry: { 
    app: path.join(srcPath, 'main.js') // see that the srcPath is the folder 'src' mapped in the const, this should be where your js files are to be loaded from. 
} 

4 - выходную папку

output: { 
    filename: "[name].js", 
    path: path.resolve(__dirname, "./dist"), 
    publicPath: "", 
    } 

5 - И загрузчик:

module: { 
    loaders: [ 
     {test: /\.js?$/, exclude: /node_modules/, loader: 'babel?cacheDirectory'} 
] 
    } 

6 - Кроме того, добавить решимость до конца вашей WebPack конфигурации, это часть обходного пути, чтобы исправить путь:

resolve: { 
    extensions: ["", ".js"], 
    modulesDirectories: ["src", "node_modules"], 
    root: [__dirname + path.sep + 'scripts'], 
    } 

И если вы хотите использовать переменные узла для сетей dev и prod, отметьте этот андерсер: Why is my webpack bundle.js and vendor.bundle.js so incredibly big?

+0

Это был факт, что я не заворачивал загрузчиков в mo dule object! Благодарю. – Carlo

+0

Я рад, что это помогло. –

Смежные вопросы