2016-06-26 15 views
18

: my webpack.config üzerineVS kodunu webpack.config dosyasında okuyun ve yolu diğer adla tanıyor musunuz? Gibi şeyler önlemek için WebPack ve Visual Studio Kanunu ile ve sırayla çalışıyorum

import { AuthenticationService } from '../../../services/authentication/service'; 

oluşturduğum takma adları yüzden kullanabilirsiniz:

import { AuthenticationService } from 'services/authentication/service'; 

Ancak Bunu yaparak, Görsel Kod kodumu algılayamadı ve bu yüzden sınıflarımın zekasını kaybettim.

Bunun için bir çözümü olan bir kişi var mı, VS kodu webpack.config dosyasını okumak ve takma ad ile aynı yolu tanımak için bir yol var mı? peşin

sayesinde

+0

bakınız. Takma adlar yazı tipinde çalışmaz. Javascript veya typescript hakkında mı konuşuyorsunuz? – viskin

+0

evet ben typescript kullanıyorum. – Mush

cevap

10

güncelleme [email protected] ve ekleyerek tsconfig.json aynı webpack takma adlarını haritalayabilirsiniz:

"compilerOptions": { 
    "paths": { 
     "app/*": ["./src/app/*"] 
    } 
} 
+2

Bunu jsconfig ile yapmanın neyse? Paths seçeneği, 'paths' kullanmanın 'baseUrl' ... – wazzaday

+4

'u etkilemiyor gibi görünüyor. – Lucas

5

Ben benzer bir sorun koştum. Ben typescript yerine javascript kullandığım için, bir jsconfig.json dosya oluşturmak ve paths seçeneğini uygun şekilde kullanmak zorunda kaldım. Böyle bir dizin yapısını varsayarsak

:

var path = require('path'); 
module.exports = { 
    resolve: { 
    alias: { 
     "my-module": path.resolve(__dirname, './src/my-module') 
    } 
    }, 
    // ... other webpack options 
}; 
  • Değiştir jsconfig.json:

    1. webpack çözmek takma adı oluşturun:

      . 
      ├── src 
      │   ├── foo.js 
      │   ├── jsconfig.json # your vscode js config 
      │   └── my-module  # folder you're aliasing 
      │    └── bar.js 
      └── webpack.config.js # your webpack config 
      

      Bu benim için çalışan sarılır src klasörünüzde:

      { 
          "compilerOptions": { 
          "target": "es6", 
          "paths": { 
           "my-module": ["./my-module"] 
          } 
          } 
      } 
      
    2. takma kullanın:

      // in foo.js 
      import Bar from 'my-module/bar'; 
      Bar.quack(); 
      
  • +0

    'nu doğrudan javascript dosyası içe aktarma konusunda ne kadar kolaylık sağladığını belirterek burada – c0ming

    +0

    bu benim için çalıştı. Ama tüm bileşenlerde değil. Dosyalarımın% 60'ı öneriliyor. – AO17

    4

    Sen jsconfig.json dosyasında paths ve baseUrl alanları belirtmek gerekir.

    { 
        "compilerOptions": { 
         "jsx": "react", 
         "target": "ES6", 
         "allowSyntheticDefaultImports": true, 
         "baseUrl": "./", 
         "paths": { 
          "~/*": ["./app/*"] 
         } 
        }, 
        "exclude": [ 
         "node_modules" 
        ] 
    } 
    

    ben js dosyalarında WebPack en takma adları tanıyan VSCode (1.3.1) var mı path mapping documentation