fis icon indicating copy to clipboard operation
fis copied to clipboard

require.async ,传入一个变量,不会产生map.js。

Open xianglgd opened this issue 10 years ago • 1 comments

HTML 中 require.async("app/main"); 编译后,会把 app/ 下同名的CSS 放入 head中。并且head中放入 一个map.js。内容是这样的。

require.resourceMap({
    "res": {
        "app": {
            "url": "/static/modules/app/app.js"
        },
        "app/main": {
            "deps": [
                "app"
            ],
            "url": "/static/modules/app/main.js"
        }
    },
    "pkg": {}
});

但是如果 我是 a="app/main"; require.async(a); 就会不会产生map.js ,于是require时就会报错。

PS: 怎么 编译后 JS都在头部呀? 我想放在最底部呀。。。。。。。。。

xianglgd avatar Jul 22 '15 08:07 xianglgd

是的,所以你需要

// @require.async 'app/main'
var a = 'app/main';
require.async(a)

安装支持注释 @require.async 的插件

npm install -g fis-postprocessor-require-async

给 js 文件配置启用这个 require-async 插件

// vi fis-conf.js
fis.config.set('modules.postprocessor.js', 'require-async');

oxUnd avatar Jul 23 '15 14:07 oxUnd