2016-12-21 9 views
2

Кажется, это действительно глупый вопрос, который должен иметь ответ где-то, но я искал часы безрезультатно. Я новичок в ReactJS и строю с помощью Webpack, создаю конфиги в целом. Я использую Webpack для связывания и связывания всего моего проекта, включая ReactJS. Он отлично работает, но я не могу понять, каким образом получить пакет, который будет недоступен, чтобы я мог отлаживать проблемы, когда они возникают.Могу ли я получить пакет Webpack, но без указания для отладки?

Вот мой Webpack конфигурации:

var webpack = require('webpack'); 
var path = require('path'); 

var BUILD_DIR = path.resolve(__dirname, 'public/js'); 
var APP_DIR = path.resolve(__dirname, 'build-source/js'); 

var config = { 
    entry: APP_DIR + '\\main.js', 
    output: { 
    path: BUILD_DIR, 
    filename: 'build.js' // want this output file to end un-minified 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?/, 
     include: APP_DIR, 
     loader: 'babel' 
     } 
    ] 
    } 
}; 

module.exports = config; 

Я бегу выполнение пакетирования с любой npm run dev или npm run build зовущей следующие из моего package.json:

{ 
    /* blah blah */, 
    "scripts": { 
    "start": "node ./bin/www", 
    "dev": "webpack -d --watch", 
    "build": "webpack -p" 
    }, 
    "dependencies": { 
    "babel-core": "^6.16.0", 
    "babel-loader": "^6.2.5", 
    "babel-preset-react": "^6.16.0", 
    "body-parser": "~1.15.1", 
    "cookie-parser": "~1.4.3", 
    "debug": "~2.2.0", 
    "express": "~4.13.4", 
    "helmet": "^3.1.0", 
    "morgan": "~1.7.0", 
    "mysql": "^2.11.1", 
    "querystring": "^0.2.0", 
    "react": "^15.3.2", 
    "react-dom": "^15.3.2", 
    "request": "^2.75.0", 
    "serve-favicon": "~2.3.0", 
    "webpack": "^1.13.2" 
    } 
} 

Что мне нужно сделать изменить, чтобы получить un-minified JavaScript-пакеты из моего выполнения Webpack?

+0

Возможно, вам нужны исходные коды, см. Http://stackoverflow.com/questions/30870830/how-do-i-eneration-sourcemaps-when-using-babel-and-webpack – ivarni

ответ

2

При использовании флага -p для кли WebPack, вы говорите Webpack использовать UglifyJSPlugin(behind the scenes)

Так вместо этого, я бы отдельную задачу сборки, которая работает WebPack без флага -p и вместо этого передает вместо этого в вашем конфиге.

var webpack = require('webpack'); 

module.exports = { 
    plugins: [ 
    new webpack.optimize.UglifyJsPlugin({ 
     options: { 
     compress: {drop_debugger: false} 
     } 
    }) 
    ] 
}; 

Кроме того, вы можете увидеть, что я прошел пользовательский вариант на UglifyJsPlugin (который как раз соответствует UglifyJs-х compression options).