2016-11-05 2 views
1

Редактировать: TypScript имеет собственную конфигурацию через tsconfig.json, и там мне пришлось добавить папку поставщика.Не включайте папку поставщика в webpack/Typcript

У меня есть структура папок, как: misc/config/base.js misc/template.ejs sources/scripts/... sources/styles/... vendor/...

и мой WebPack конфигурация выглядит следующим образом:

entry: [ 
     path.join(paths.scripts.path, paths.scripts.file), 
     path.join(paths.styles.path, paths.styles.file), 
    ], 
    output: { 
     path: paths.build.path, 
     filename: paths.build.files.script, 
     publicPath: '/', 
    }, 
    resolve: { 
     extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js', '.scss'], 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.(tsx|ts)$/, 
       exclude: /node_modules/, 
       // transformation order is from down to up 
       loaders: [ 
        'babel?'+JSON.stringify({ 
         presets: ['es2015', 'react', 'stage-0'], 
         plugins: [babelRelayPlugin], 
        }), 
        'ts'], 
      }, 
      { 
       test: /\.scss$/, 
       loader: ExtractTextPlugin.extract('style', ['css', 'postcss', 'sass']), 
      }, 
      { 
       test: /\.(woff|woff2|eot|ttf)$/, 
       loader: 'url?limit=100000&name=./css/fonts/font-[hash].[ext]', 
      }, 
      { 
       test: /\.(png|svg)$/, 
       loader: 'url?limit=100000&name=./img/[ext]/img-[hash].[ext]', 
      }, 
     ], 
    }, 

Everytime я запустить сервер Dev WebPack он жалуется ц и d.ts (машинопись файлов), но на самом деле он не должен касаться продавца вообще. Как я могу это достичь?

Edit: Почти все ошибки, которые я получаю имеют форму, как: ERROR in /.../vendor/postgraphql/node_modules/typescript/lib/lib.es2015.iterable.d.ts (165,11): error TS2451: Cannot redeclare block-scoped variable 'String'.

+0

Как я понял, webpack начинается с точек входа и разрешает каждый запрос require и import и пересылает все найденные файлы. Но папка поставщика не требует вызова в папке сценариев или источников. Таким образом, точки входа не могут ссылаться на него. Почему веб-пакет пытается что-то сделать с ним? – velop

+0

try 'exclude:/(node_modules | vendor) /,' –

+0

Не работает. Ts-loader, я думаю, все еще проверяет папку поставщика ERROR в /.../vendor/postgraphql/node_modules/@types/node/index.d.ts (3040,10): ошибка TS2300: повторяющийся идентификатор 'HexBase64BinaryEncoding' , – velop

ответ

1

Машинопись имеет свою собственную конфигурацию через tsconfig.json и там я должен был добавить в папку поставщика ,

"exclude": [ 
    "node_modules", 
    "build", 
    "vendor" 
    ] 
} 
0

Скорее всего это столпотворение загрузчик жалуется здесь пытаюсь разобрать файлы поставщик. Если это так (трудно быть уверенным, не видя ошибку), то изменение этого объекта загрузчика на это должно помочь:

{ 
    test: /\.(tsx|ts)$/, 
    exclude: [/node_modules/, /vendor/], 
    // transformation order is from down to up 
    loaders: [ 
     'babel?'+JSON.stringify({ 
      presets: ['es2015', 'react', 'stage-0'], 
      plugins: [babelRelayPlugin], 
     }), 
     'ts'], 
}, 
+0

Не работает. Ts-loader, я думаю, все еще проверяет папку поставщика ERROR в /.../vendor/postgraphql/node_modules/@types/node/index.d.ts (3040,10): ошибка TS2300: дублирующий идентификатор «HexBase64BinaryEncoding». – velop