2017-01-01 29 views
0

我有一個子目錄subdir與此文件:如何使用子目錄中的項目運行wepback?

// subdir/local.js 
document.body.textContent = 'hello from subdir/local.js' 

和地方webpack.config.js

 
// subdir/webpack.config.js 
const { 
    createConfig, 
    entryPoint, 
    setOutput } = require('@webpack-blocks/webpack') 

const devServer = require('@webpack-blocks/dev-server') 

module.exports = createConfig([ 
    entryPoint('.'), 
    setOutput('./bundle.js'), 
    devServer(), 
]) 

相同的配置在根目錄下的作品。然而,在本地運行

的WebPack local.js

導致錯誤:

 
ERROR in multi main 
Module not found: Error: Cannot resolve 'file' or 'directory' . in /Users/dmitrizaitsev/Dropbox/Sandbox/webpack-blocks-test/subdir 
@ multi main 

如何修復這個錯誤,並在子目錄中的項目的WebPack運行?

回答

0

儘管webpack使用節點require的擴展版本作爲module resolution,但默認情況下它不會解析local.js。我會假設,如果你要重命名local.js到index.js,這將工作。否則,您可以將入口點設置爲./index.js./index

+0

謝謝,它只能在'webpack.config.js'('index.js'和'local.js')中配置'entry'的地方工作,但是當從CLI傳遞文件時不能。理想情況下,我更喜歡只有一個配置文件在根目錄下,這讓我可以在任何子目錄中使用它。 –

+0

您可以通過設置/更改[context](https://webpack.js.org/configuration/entry-context/#context)屬性 –