2014-12-01 4 views

ответ

5

Какое приложение это? Если вы используете package.json, вы можете запустить webpack на этапе postinstall, используя npm-скрипты.

+0

Я собираю webpack программно (из моего index.js) и работает только на моей локальной машине. Имеет смысл, не файловая система dynos, которая должна быть доступна только для чтения? –

1

Я решил эту проблему путем размещения devDependencies в нормальных зависимости, и я изменил сценарий постустановочного на:

node_modules/.bin/webpack 
2

Вы можете установить postinstall в вашем package.json к следующим NODE_ENV=production webpack -p

Тогда набор start до node

Но вам нужно обязательно настроить свой веб-пакет для производства, установив его в свой webpack.config.js или мы bpack.config.js (производство) в качестве конфигурации производства.

Я установил все, что в моем webpack.config.js следующим образом ..

const path = require('path'); 
const webpack = require('webpack'); 
const debug = process.env.NODE_ENV !== "production"; 


module.exports = { 
    entry: [ 
    './src/index.js' 
    ], 
    output: { 
    path: path.resolve(__dirname, 'src'), 
    filename: 'bundle.js' 
    }, 
    devtool: debug ? "inline-sourcemap" : null, 
    module: { 
    loader: [{ 
     exclude: /node_modules/, 
     loader: 'babel', 
     query: { 
     presets: ['angular'] 
     } 
    }, 
    { 
     test: /\.css$/, 
     loader: "style-loader!css-loader" 
    }] 
    }, 
    devServer: { 
    historyApiFallback: true, 
    contentBase: 'src' 
    }, 
    plugins: debug ? [] : [ 
    new webpack.optimize.DedupePlugin(), 
    new webpack.optimize.OccurenceOrderPlugin(), 
    new webpack.optimize.UglifyJsPlugin({ 
    mangle: {except: ['$', 'exports', 'require', 'app']}, 
    compress: {warnings: false}, 
    sourceMap: false 
    }) 
    ] 
} 

поэтому в основном после того, как команда запускает npm run postinstall пучка будет сгенерирован в директории, в webpack.config.js (выход) , Но не забудьте включить в свой пакет package.json команды NODE_ENV=production webpack -p перед запуском 'npm start'. См. Пример ниже.

{ 
    "name": "", 
    "version": "1.0.0", 
    "description": "", 
    "main": "./src/bundle.js", 
    "engines": { 
    "node": "6.4.0" 
    }, 
    "scripts": { 
    "start": "node ./src/server.js", 
    "postinstall": "NODE_ENV=production webpack -p" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": ... 
Смежные вопросы