javascript - Lors du package du webpack, js a été délibérément placé en statique après la publication, le remplacement n'a pas pris effet.
世界只因有你
世界只因有你 2017-06-30 09:54:43
0
3
931

Il existe un projet vux. J'ai délibérément placé du JS dans le répertoire statique, puis j'ai utilisé require pour l'obtenir. Le contenu du JS est le suivant :

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

Utilisez comme ceci en vue :

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

Le problème est que lorsqu'il est placé dans un emballage webpack statique, c'est : npm run build, il n'y a pas de problème. Pendant l'utilisation, j'ai modifié ce sysNav.js, mais peu importe la façon dont je nettoie le cache, c'est toujours l'ancien contenu, comme si je ne savais pas où il est mis en cache. J'espère qu'en modifiant dynamiquement ce fichier, je pourrai mettre à jour une partie du contenu. En d’autres termes, comment exiger de lire le contenu le plus récent à chaque fois.

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

répondre à tous(3)
巴扎黑

Configurer devServer ou webpack-dev-middleware webpack-hot-middleware

仅有的幸福

Il ne sera mis à jour que si vous le regardez. Comment peut-il être mis à jour automatiquement si vous ne le regardez pas ?

ringa_lee

Ai-je dit que c'était trop compliqué ? En fait, il est très simple de reproduire ce problème.

Créez un nouveau projet vue, mettez un js en statique, puis exigez le js dans vue, par exemple, alert.

npm exécutez build, copiez le contenu de dist sur le serveur web, modifiez le contenu de js en statique, vous constaterez que ce contenu ne prendra pas effet.

D'accord, une question ? Puisque tant qu'un js est requis, le js sera empaqueté. Pourquoi est-ce que je vois toujours ce js dans le répertoire statique ? ? Ne vous trompez-vous pas vous-même et les autres ? ?


Après des tests réels, nous avons constaté que tant qu'un js est requis, webpack emballera le js directement dans app.js, puis le contenu statique sera copié directement dans le répertoire dist intact. J'ai trouvé le code de test dans app.js.


Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal