javascript - webpack打包的時候故意放在static中js,發布後更換沒有生效
世界只因有你
世界只因有你 2017-06-30 09:54:43
0
3
895

有vux的項目,有些JS,我故意放在static的目錄裡面,然後使用require來獲取,該JS內容如下:

var sysNavDefine = {
    name: 'sysNavDefine',
    navList: [ {
            path: '/listView',
            name: 'listView',
            imgSrc: '../../static/images/home/email.png',
            desc: '网络通讯',
            query: {
                tableName: 'EmailDet',
                tableAlias: 'InBox',
                pageSize: 20,
                pageIndex: 1
            }
        }, {
            path: '/listView',
            name: 'listView',
            imgSrc: '../../static/images/home/wfCurrentStep.png',
            desc: '审批任务',
            query: {
                tableName: 'wfCurrentStep',
                tableAlias: '',
                pageSize: 20,
                pageIndex: 1
            }
        } 
    ]
}
export default sysNavDefine

在vue裡面這樣使用:

var sysNav = require("../../static/modules/sysNav.js")
        this.$data.navList = sysNav.default.navList

問題來了,放在static裡面的時候,webpack打包,就是:npm run build,沒有問題。在使用的過程中,我修改了這個sysNav.js,但是,不管如何清理緩存,都是舊的內容,就好像不知道哪裡緩存了一樣。我是希望可以透過動態修改這個文件,讓我可以更新部分內容。或者說,如何讓require可以每次都讀取最新的內容。

世界只因有你
世界只因有你

全部回覆(3)
巴扎黑

配置 devServer 或 webpack-dev-middleware webpack-hot-middleware

仅有的幸福

你watch了才會更新,不watch怎麼會自動更新。

ringa_lee

是不是我說的太複雜了,其實重現這個問題很簡單。

新建一個vue的項目,在static裡面放入一個js,然後,在vue裡面require這個js,例如alert一下。

npm run build,把dist裡面的內容,都拷貝到web伺服器,修改static裡面的js的內容,你會發現,這個內容不會生效。

好了問題來?既然只要require一個js,就會把js打包進去。為什麼還會在static目錄裡面看到這個js? ?不是自欺欺人了嗎? ?


經過實際測試,發現只要require一個js,webpack就會把這個js直接打包到app.js裡面,然後st​​atic裡面的內容是原封不動的直接拷貝到dist目錄。我在app.js裡面找到了測試的程式碼了。


熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板