2014-12-01 15 views

Trả lời

5

Loại ứng dụng này là gì? Nếu bạn đang sử dụng package.json, bạn có thể chạy webpack trong bước cài đặt sau bằng cách sử dụng các tập lệnh npm.

+0

Tôi đang biên soạn webpack theo lập trình (từ tệp index.js) và nó chỉ hoạt động trên máy cục bộ của tôi. Làm cho tinh thần, không phải hệ thống tập tin của dynos được cho là chỉ đọc? –

1

Tôi đã giải quyết vấn đề này bằng cách đặt devDependencies trong phụ thuộc bình thường, và tôi đã thay đổi kịch bản postinstall tới:

node_modules/.bin/webpack 
2

Bạn có thể đặt postinstall trong package.json của bạn như sau NODE_ENV=production webpack -p

Sau đó thiết lập start đến node

Nhưng bạn cần phải chắc chắn định cấu hình gói web của mình để sản xuất bằng cách đặt trong webpack.config.js hoặc chúng tôi bpack.config.js (sản xuất) như một cấu hình sản xuất.

tôi đặt tất cả mọi thứ trong vòng webpack.config.js của tôi như sau ..

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 
    }) 
    ] 
} 

nên về cơ bản, một khi lệnh chạy npm run postinstall bó sẽ được tạo trong thư mục theo webpack.config.js (đầu ra) . Nhưng hãy nhớ bao gồm trong package.json của bạn với các lệnh NODE_ENV=production webpack -p trước khi chạy 'npm start'. Xem ví dụ bên dưới ..

{ 
    "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": ... 
Các vấn đề liên quan