Webpack 4.0生产模式不包括文件

时间:2018-06-12 07:45:14

标签: reactjs redux webpack-4 webpack-production

我疯狂地试图建立我的生产包,但如果bundle.js设置为configuration->mode,我们无法弄清楚为什么某些文件不会包含在最终production中到index.js

具体来说,在我的主index.js中包含redux商店,然后传递给主要组件。最终应用程序的结果是空值减少器。在开发模式中,一切正常。

那是我的import store from './app/combiner/'; let theme = createMuiTheme(customThemeSettings); theme['custom'] = customStyle(theme); theme['overrides'] = muiOverrides(theme); init(store); const initialState = store.getState(); console.log('__INITIAL__', initialState) let previousAccessToken = initialState.securityProviderReducer.logged.accesstoken; /* * Subscribe store , Check value change accesstoken */ store.subscribe(() => { const currentState = store.getState(); const currentAccessToken = currentState.securityProviderReducer.logged.accesstoken; if (currentAccessToken !== previousAccessToken) { previousAccessToken = currentAccessToken; updateStore(store); } }); const renderApp = (Controller) => { render( <Provider store={store}> <BrowserRouter> <AppContainer> <MuiThemeProvider theme={theme}> <Controller/> </MuiThemeProvider> </AppContainer> </BrowserRouter> </Provider>, document.getElementById('root') ) } renderApp(Controller); if (module.hot) { module.hot.accept('./app/components/applications/Controller', () => { const newController = require('./app/components/applications/Controller').default; renderApp(newController); }); } console.log(process.env) if (process.env.NODE_ENV !== 'production') { console.log('Looks like we are in DEVELOPENT mode!'); }else { console.log('Looks like we are in PRODUCTION mode!'); }(某些导入失踪在上面)

&#13;
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
&#13;
./app
&#13;
&#13;
&#13;

src(main folder)下方的__INITIAL__ console.log文件夹。正如我在这里的片段中所示,DateTime结果为空对象。

我应该将文件移动到其他位置/文件夹还是设置其他配置参数或添加一些插件?

感谢您的回答。

---------问题已解决--------------

在我的情况下,我使用materil-ui-next with react和来自webpack的UglifyJsPlugin,由于某种原因没有包含./app(以及子文件夹)中包含的文件。所以缺少库(我的应用程序redux / store)。 然后我就这样编辑:

......     module.exports = merge(common,{     模式:&#39;制作&#39;,     devtool:&#39; source-map&#39;,     优化:{         最小化器:[             新的UglifyJsPlugin({                 sourceMap:true,                 包括:// app /,                 exclude:[// node_modules /],                 平行:是的             })         ]     },.....

除此之外,在JS中使用material-ui-next(https://material-ui.com/customization/css-in-js/#jssprovider)和CSS我必须添加react-jss(https://github.com/cssinjs/react-jss#multi-tree-setup)以避免在被覆盖的模块之间重复类。替换为JSS的前缀

最后,生产构建工作正常。

0 个答案:

没有答案