2017-07-31 93 views
0

我有一個npm lib,併爲它構建一個示例。webpack模塊加載器:排除子文件夾中的文件

項目的樣子

react-outline 
├─ example 
│ └── webpack.config.js 
│ └── .babelrc 
│ └── index.js 
├ index.jslib source 
└ README.md 

用戶將cd在 「示例」 文件夾,運行npm start

的例子/ index.js用途反應,但/index.js(the LIB)做不。

  • 我通過的WebPack>解決>別名訪問LIB

現在我可以修復錯誤:Module build failed: Error: Couldn't find preset "react" relative to directory "/www/my-npm-lib"

webpack.config.js

var path = require("path"); 
module.exports = { 
    target:"web", 
    resolve:{ 
    alias:{ 
     'my-npm-lib':__dirname+'/../../index.js' 
    } 
    }, 
    module:{ 
     loaders:[{ 
        test: /\.js$/, 
        loader:"babel-loader", 
        exclude:[path.resolve(__dirname,'/../../index.js'),"/node_modules/"], 
        query:{ 
         presets:["react", "es2015"] 
        } 
       }] 
    } 
}; 

.bablerc

{ 
    "presets": [ 
    [ "es2015"], 
    "react" 
    ], 
    "env": { 
     "test": { 
     "presets": ["es2015","react"] 
     } 
    } 
} 

FYI:我使用的陣營童話故事爲例子

+1

你嘗試配置外部? https://webpack.js.org/configuration/externals/ –

+0

嗨,何塞,我改變「解決:{別名:」到「外部」,但得到'無效的正則表達式標誌' 真奇怪的是這個錯誤顯示在第一頁面加載,但熱重新加載修復源變化的錯誤,一切正常? 我猜webpack可以工作,但是這個bable錯了嗎? –

+0

@JoséQuintoZamora外部包含**文件**在構建..只說'module.exports = /home/user/www/my-npm-lib/index.js;',因爲這是無效的JavaScript 。我得到**錯誤**'無效的正則表達式標誌'任何想法?謝謝 –

回答

0

嘗試

exclude: /node_modules\/(?!(index)\/).*/ 
+0

這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/18074487) –

相關問題