2017-05-19 14 views
1

.lessファイルを.tsファイルにインポートしようとしていますが、それを行うことができません。 linkで述べたように、私はここでバンドラ& webstormのIDEとしてtypescriptファイルで.lessファイルを要求/インポートする方法

をwebpack2使用しています がwebpack.config.jsファイルに以下のローダ用

{ 
    test: /\.less$/,  //less loader 
    loader: ExtractTextPlugin.extract({ 
    fallbackLoader: 'style-loader', 
    //loader: 'css-loader!less-loader' 
    loader: 'raw-loader!less-loader' 
    }) 
}, { 
    test: /\.ts$/, //typescript loader 
    //include: path.resolve(__dirname, "ts-src"), 
    include: path.resolve(__dirname, "js"), 
    loader: "ts-loader" 
} 
//rest of code 
resolve: { 
    extensions: [".webpack.js", ".web.js", ".ts", ".tsx", ".js", ".css", ".less"], 
} 

スニペット私はglobal.d.tsファイルを作成することで試みたが、 no luck

また、私はrequireのファイルをmain.tsにしようとしましたが、この場合、少ないファイルを必要とするオプションはありません。 私の質問は、私は.lessts内のファイルを含める方法を見つけることができませんでしたけれどもtypescriptですファイル

[Project strucure

+0

が必要です。 Webpackはバンドルにファイルをインクルード(および解析)します。あなたのIDEが自動的にあなたのパスを自動補完しないからといって、それが機能しているとは限りません。 –

+0

@SebastianSebald私はそれを試みました。問題は、tsファイルが.lessファイルを認識しないことです。私がそのようにインポートすると、ビルド/コンパイルが失敗します。 – brk

答えて

0

.lessファイルをロードする方法ですが、私には、JavaScriptファイルを作成してインポートすることで回避する方法を見つけましたそれにはあまり

import.js

import "./../styles/main.less"; 

H aveがCommonsChunkPlugin

entryConfig.js webpack.config.jsストリングstyleと同じである

entry: { 
    //rest of code 
    style: entryConfig.style 
}, 

//rest of code 

new webpack.optimize.CommonsChunkPlugin({ 
    name: 'common', 
    filename: 'common-[hash].js', 
    chunk: ['common', 'home','style'] 
}) 

module.exports={ 
    // rest of code 
    style:'./js/import.js' 
} 

に使用されるパスを解決するために、設定ファイルを作成しましたエントリオブジェクト内のキー名

0

style.lessファイルがプロジェクトのルートにある場合、srcフォルダ次のように使用してください。 here で述べたように

import "style.less"; 

webpack.config.jsが適切なスタイル・ローダーとあまりローダーを設定している必要があります私はこのようにそれを持っている:

module: { 
    rules: [ 
     ... 
     { test: /\.less$/i, use: ['style-loader', 'css-loader', 'less-loader'], issuer: /\.[tj]s$/i}, 
     { test: /\.less$/i, use: ['css-loader', 'less-loader'], issuer: /\.html?$/i }, 
    ] 
} 

私は2つ、TSでの輸入のための1つを持っていますもう一つはです/ JSファイルには、あなたは自分のアプリで `less`ファイルを含めたい場合は、`インポート /style.less`を行うことができますHTMLテンプレートに

<require from="style.less"></require> 
関連する問題