2017-04-06 19 views
1

我正在將應用程序轉換爲打字稿。我NPM開始工作沒有任何問題,但是當我嘗試運行react-storybook我有這樣的錯誤ReactJS Json加載器在應用程序中工作,但不是故事書

ERROR in ./src/conf.json 
Module build failed: SyntaxError: Unexpected token m in JSON at position 0 
    at Object.parse (native) 
    at Object.module.exports (/node_modules/json-loader/index.js:7:48) 
@ ./srcReact/actions/ApiActions.js 4:16-46 

兩者都使用相同的裝載機在webpack.config.js

loaders: [ 
      { 
       exclude: [ 
        /\.html$/, 
        /\.(js|jsx)$/, 
        /\.css$/, 
        /\.json$/, 
        /\.svg$/ 
       ], 
       loader: 'url-loader', 
       query: { 
        limit: 10000, 
        name: 'static/media/[name].[hash:8].[ext]' 
       } 
      }, 
      { 
       test: /\.js$/, 
       loader: 'babel-loader', 
       include: [ path.resolve(__dirname, '../') ], 
       exclude: [ path.resolve(__dirname, 'bundles') ], 
       query: { 
        presets: ['react', 'es2015'], 
        plugins: ['transform-decorators-legacy'], 
        cacheDirectory:true 
       }, 
       exclude: /(node_modules|bower_components)/ 
      }, 
      { 
       test: /\.css$/, 
       include: [ path.resolve(__dirname, '../') ], 
       exclude: [ path.resolve(__dirname, 'bundles') ], 
       loader: "style-loader!css-loader" 
      }, 
      { 
       test: /\.svg$/, 
       loader: "svg-loader" 
      }, 
      { 
       test: /\.json$/, 
       loader: "json-loader" 
      } 
     ] 

我也有一個JSON對於JSON

declare module "*.json" { 
    const value: any; 
    export default value; 
} 

一些測試中,它看起來像故事書後.d.ts是無法加載的json defition(json.d.ts)。

感謝

+1

嗯,我沒有看到你的webpack配置TS加載器。你如何用故事書配置打字稿?我有一個用Typescript編寫的項目,與故事書整合在一起,並且沒有問題。 – niba

+0

Humm,我會試試。但實際上,如果我沒有在故事書中加載任何JSON,那麼所有工作都不需要ts-loader。也許它會改變一些事情。謝謝 ! –

回答

0

終於得到它的工作通過改變我的模塊聲明

declare module "!json!*" { 
    const value: any; 
    export default value; 
} 

添加第一個吧!消除了json-loader和打字稿模塊之間的混淆。得到這個github問題的啓發https://github.com/webpack-contrib/json-loader/issues/13

相關問題