2015-10-30 7 views
6

मैं अपने एंगुलरजेएस प्रोजेक्ट को ईएस 6 से टाइपस्क्रिप्ट में "माइग्रेट कर रहा हूं" और मैं ts-loader के साथ वेबपैक का उपयोग कर रहा हूं।वेब निर्देशिका को स्रोत निर्देशिका में संकलित फ़ाइलों को उत्पन्न करने से कैसे रोकें

समस्या यह है कि संकलित फ़ाइलें और स्रोत मानचित्र मेरे फ़ोल्डर में लिखे गए हैं और webpack-dev-server का उपयोग करते समय स्मृति से सेवा की गई bundle.js फ़ाइल की तरह नहीं।

इसके बजाय होने मेरी निर्देशिका में index.ts मैं अंत की:

. 
├── index.js 
├── index.js.map 
└── index.ts 

यह किया जा सकता है?

मेरे tsconfig.json है:

{ 
    "compilerOptions": { 
    "target": "es6", 
    "sourceMap": true, 
    "module": "commonjs" 
    }, 
    "exclude": [ 
    "node_modules", 
    "src/dist" 
    ], 
    "version": "1.6.2" 
} 

और webpack.config.js है:

module.exports = { 
    context: PATHS.app, 
    entry: { 
    app: ['./index.ts'] 
    }, 
    output: { 
    path: path.resolve(__dirname, 'dist'), 
    filename: 'bundle.js' 
    }, 

    // add resolve clause:root 

    module: { 
    loaders: [ 
    { test: /\.ts$/, exclude: /node_modeuls/, loader: 'babel-loader!ts-loader' }, 
    { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }, 
    { test: /\.less$/, loader: "style!css!less", exclude: /node_modules/ }, 
    { test: /\.html$/, loader: "html" }, 
    { test: /\.(ttf|eot|svg|otf)$/, loader: "file" }, 
    { test: /\.woff(2)?$/, loader: "url?limit=10000&minetype=application/font-woff" }, 
    { test: /\.jpe?g$|\.gif$|\.png$|\.svg$|\.woff$|\.ttf$|\.wav$|\.mp3$/, loader: require.resolve("file-loader") + "?name=../[path][name].[ext]"} 
    ] 
    }, 

    devServer: { 
    contentBase: "./src" 
    }, 

    devtool: '#inline-source-map' 

} 
+0

क्या आप इस मुद्दे को हल करने में सक्षम थे? – GPicazo

+0

@GPicazo अभी तक नहीं, अभी के लिए मैं इन फ़ाइलों को .gitignore में जोड़ रहा हूं। – Shikloshi

+0

हाँ, मैं वही कर रहा हूं, लेकिन आईडीई अभी भी अव्यवस्थित दिखता है। – GPicazo

उत्तर

2

मुझे लगता है कि इस webpack लेकिन tsc और आईडीई से संबंधित नहीं है।

शायद आपके स्रोत आईडीई द्वारा स्वतः संकलित किए गए हैं और डिफ़ॉल्ट संकलन परिणाम स्रोत फ़ाइलों के बगल में रखे गए हैं।

आप आईडीई में ऑटो-संकलन को अक्षम करने का प्रयास कर सकते हैं। अधिकांश आईडीई compileOnSave विकल्प पहचानते हैं। इसे tsconfig.json में गलत पर सेट करें और आपको ठीक होना चाहिए।

उदाहरण tsconfig.json

{ 
    "compilerOptions": { 
    "target": "es6", 
    "sourceMap": true, 
    "module": "commonjs", 
    "compileOnSave": false 
    }, 
    "exclude": [ 
    "node_modules", 
    "src/dist" 
    ], 
    "version": "1.6.2" 
} 

आप भी अपनी tsconfig.json में outDir को परिभाषित करते हुए वैकल्पिक हल करने की कोशिश कर सकते हैं।

आपका उदाहरण tsconfig.json तरह

{ 
    "compilerOptions": { 
    "target": "es6", 
    "sourceMap": true, 
    "module": "commonjs", 
    "outDir": "compiled" 
    }, 
    "exclude": [ 
    "node_modules", 
    "src/dist" 
    ], 
    "version": "1.6.2" 
} 

अब सभी संकलन परिणाम compiled निर्देशिका जो आसानी से अनदेखा किया जा सकता में रखा जाएगा लग सकता है।

संबंधित मुद्दे