Comments (17)
主要是 script 外链和内联混用才会产生多个。
from fis3-postpackager-loader.
能具体解释一下吗,你是说babel编译变成内联引用了?
from fis3-postpackager-loader.
你先看一下他们之间被什么隔开了,我是说只会因为有内嵌 js 才会隔开他们,不会因为一部分是 babel 一部分是没编译而隔开。
from fis3-postpackager-loader.
找到区别了,不过不知道解决方法是啥,import的写法改变了jquery的依赖顺序,而我jquery是独立加载的
require写法编译结果
var $ = require('node_modules/jquery/dist/jquery');
var util = require('widget/util/util');
var dom = require('widget/dom/dom');
import写法编译结果,会导致jquery的加载顺序晚于'widget/util/util'
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _widgetUtilUtil = require('widget/util/util');
var _widgetUtilUtil2 = _interopRequireDefault(_widgetUtilUtil);
//上面是babel添加的
var $ = require('node_modules/jquery/dist/jquery');
var dom = require('widget/dom/dom');
from fis3-postpackager-loader.
好像跟import没关系,是加载顺序的问题感觉,有配置是让jquery固定先加载的吗
from fis3-postpackager-loader.
先看看 aio.js和aio2.js 之前隔了什么,看产出的 html 源码。
from fis3-postpackager-loader.
隔了jquery
<script src="/static/lib/mod.js"></script>
<script type="text/javascript" src="/pkg/page/xxx_aio.js"></script>
<script type="text/javascript" src="/node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="/pkg/page/xxx_aio_2.js"></script>
from fis3-postpackager-loader.
那你看看这个吧,看是哪个条件让他们断开了。https://github.com/fex-team/fis3-postpackager-loader/blob/master/lib/pack.js#L82 初步怀疑是配置了allInOne 的 ignore
from fis3-postpackager-loader.
我是配置了ignore,因为我想jquery单独加载
from fis3-postpackager-loader.
import 会被提前,既然这样,你把 import "node_modules/jquery/dist/jquery"
到最前面。
from fis3-postpackager-loader.
可以是可以,因为一些组件并不依赖jquery,组织上感觉应该不应该有先后顺序的,是不是跳过ignore后,剩下的合并在一起,而不是分开合并更合理呢
from fis3-postpackager-loader.
因为不确定引入的 js 有没有顺序问题,所以没有因为打包而打乱顺序。
from fis3-postpackager-loader.
是否考虑加一个类似framework:true
的js配置项,效果就跟<script src="" data-framework></script>
一样,这样不知道能不能解决问题
from fis3-postpackager-loader.
应该是framework:['node_modules/jquery/**']
from fis3-postpackager-loader.
不明白为何要单独引入,既然在依赖里面那就可以一起合并啊。
from fis3-postpackager-loader.
多页面共享缓存,库文件不都推荐单独引入吗
from fis3-postpackager-loader.
试试用最简单的 packTo
方式,把 jquery 和 mod.js 打包到一个文件,同时别关闭 loader 的 allInOne 打包配置。
from fis3-postpackager-loader.
Related Issues (20)
- 解决了
- [improvement]有没有考虑继续完善一下这个插件,更加智能方便一点? HOT 1
- 为什么升级插件需要全局安装之后libsass的错误又出来了,一直有这个错误? HOT 2
- css加载顺序问题 HOT 1
- <!--RESOURCEMAP_PLACEHOLDER-->定位无效
- Bug
- loader配合domain产生bug
- ignore清单失效 HOT 1
- 对依赖的js文件有顺序要求的,应当如何配置打包?
- css文件合并后的type依然是'js'
- 打包后,个别文件还是没有合并到一起 HOT 4
- 合并打包的js资源,能不能加个属性crossorigin的配置 HOT 1
- 请问aioPkg字段的生成逻辑是怎样的
- 打包忽略文件对css无效 HOT 1
- 与packTo合并js的功能协作问题。 HOT 3
- resourcemapWhitespace配置项缺失 HOT 2
- 设置fis.hook('amd') 依然生成 require.resourceMap()而不是 require.config()?
- 能否提供支持抽离公共js代码功能 HOT 1
- css 没有合并在一起 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fis3-postpackager-loader.