2016-12-27 5 views
3

Ich bin neu bei Webpack. Momentan arbeite ich an einer angular2 Anwendung mit Webpack. Als Teil der Anforderung möchten wir eine Einstellungsdatei haben, die nicht gebündelt werden sollte, damit man die URL in der Datei settings.js nach dem Bundle auch ändern kann.Ausschließen von ts/js Datei aus Bundle mit Webpack

Unten ist der Code für zwei Dateien.

settings.ts

const foo = { 
    url:'localhost' 
}; 
export { foo }; 

script.ts

import { foo } from 'settings'; 

Beide ts Dateien werden in js-Datei, bevor Bündel kompiliert werden. Und jetzt möchte ich die Datei "settings.ts" aus dem Bundle ausschließen und die Datei "setting.ts" im Ordner "dist" kopieren.

Unten ist die webpack.config Datei

loaders: [ 

      { 
       test: /\.ts$/, 
       loaders: ['awesome-typescript-loader', 
          'angular2-template-loader'], 
       exclude: [/\settings.ts$/] 
      }, 
] 

ich kein Glück mit dieser gefunden.

Ich bin in der Lage, die Datei settings.js im Ordner dist kopieren, indem Sie CopyWebpackPlugin verwenden. Die Datei settings.ts kann jedoch nicht von der Bündelung ausgeschlossen werden.

Unten ist der Screenshot der Ordnerstruktur. Webpack.config ist auf demselben Niveau wie src Ordner

enter image description here

+0

Anstatt auf settings.ts Datei bin ich bereit, JSON-Datei verwenden, die eine URL-Eigenschaft haben wird. –

+0

Bitte fügen Sie einen Screenshot Ihrer Ordnerstruktur hinzu. – tomepejo

+0

Wahrscheinlich brauchen Sie etwas wie ** exclude: /app/settings/settings.ts** Ohne die spitzen Klammern und die Escape-Schrägstrich. – tomepejo

Antwort

0

es so versuchen:

exclude: [ 
    path.resolve(__dirname, '/settings.ts'), 
] 

Wie auf this GitHub issue vorgeschlagen.

+1

Versucht ausschließen: [path.resolve (__ Verzeichnisname, 'src/app/config/settings.ts']]. Es gibt mir den Fehler "Sie benötigen möglicherweise einen geeigneten Loader für diesen Dateityp" –

Verwandte Themen